草庐IT

mro_merge

全部标签

git - 在 GitHub 中 merge 分支

我fork了一个GitHub存储库。然后我对我的fork进行了一些更改。然后原始存储库merge了我的更改和其他一些更改。现在,我想merge我缺少的那些更改。我尝试了一个简单的pull然后推,但这会重复我的提交。最好的方法是什么? 最佳答案 您可能对每个存储库都有一个“远程”。您需要从一个Remotepull并推送到另一个Remote。如果您最初是从您的分支克隆的,那么该远程将被称为“源”。如果您还没有添加它,则需要将另一个存储库添加为另一个远程:gitremoteaddgit://github.com//repo.git完成所有

git - 查找未 merge 的 Git 分支?

我有一个包含许多分支的Git存储库,其中一些已经merge,一些还没有。由于分支数量很多,如何确定哪些分支还没有被merge呢?我想避免必须进行“Octopus”merge和重新merge已经merge的分支。 最佳答案 试试这个:gitbranch--mergedmaster它按照锡盒上的说明进行操作(列出已merge到master中的分支)。您还可以使用以下方法进行反向操作:gitbranch--no-mergedmaster如果你不指定master,例如...gitbranch--merged然后它将向您显示已merge到当前

merge 后提交时出现 Git 错误 - 致命 : cannot do a partial commit during a merge

我运行了一个以冲突结束的gitpull。我解决了冲突,现在一切都很好(我也使用了mergetool)。当我使用gitcommitfile.php-m"message"提交解析的文件时,我得到了错误:fatal:cannotdoapartialcommitduringamerge.我之前遇到过同样的问题,在提交中使用-a效果很好。我认为这不是完美的方式,因为我不想提交所有更改。我想用单独的注释单独提交文件。我怎样才能做到这一点?为什么git不允许用户在merge后单独提交文件?我找不到这个问题的满意答案。 最佳答案 我发现在提交命令中

Git "error: The branch ' x' 未完全 merge "

这是我在主分支上使用的命令gitbranchexperimentgitcheckoutexperiment然后我对我的文件做了一些更改,提交了更改,并将新分支推送到GitHub。gitcommit.-m'changedfiles'gitpush-uoriginexperiment后来我决定将我的experiment分支merge到master分支。gitcheckoutmastergitmergeexperiment最后我将更改推送到GitHub。gitpush-uoriginmaster一切顺利,直到我尝试使用删除我的实验分支gitbranch-dexperiment我收到错误信息:

git - merge 后分支怎么办

我有两个分支:master和branch1。我刚刚将branch1merge回master并且我已经完成了那个分支。我应该删除它还是让它闲置?删除它会导致数据丢失吗? 最佳答案 merge后,删除分支是安全的:gitbranch-dbranch1此外,如果git认为您还没有完全merge它,它会警告您(并拒绝删除该分支)。如果你强行删除一个尚未完全merge的分支(使用gitbranch-D),你必须采取一些技巧来取回未merge的提交(见下文)。不过,保留分支机构是有一些原因的。例如,如果它是一个功能分支,您可能希望能够在该分支内

Git Cherry-pick 与 merge 工作流

假设我是一个repo的维护者,我想从贡献者那里获取更改,有几个可能的工作流程:我cherry-pick从远程(按顺序)每次提交。在这种情况下,git将提交记录为与远程分支无关。我merge分支,pull入所有更改,并添加一个新的“冲突”提交(如果需要)。我merge分别(再次按顺序)从远程分支提交每个提交,允许为每个提交记录冲突,而不是将所有内容组合在一起。为了完整起见,您可以执行rebase(与cherry-pick选项相同?),但我的理解是这可能会给贡献者带来困惑。也许这消除了选项1。在情况2和情况3中,git记录了提交的分支历史,这与情况1不同。使用所描述的cherry-pick

Git:无法撤消本地更改(错误:路径...未 merge )

我有以下工作树状态$gitstatusfoo/bar.txt#Onbranchmaster#Unmergedpaths:#(use"gitresetHEAD..."tounstage)#(use"gitadd/rm..."asappropriatetomarkresolution)##deletedbyus:foo/bar.txt#nochangesaddedtocommit(use"gitadd"and/or"gitcommit-a")文件foo/bar.txt在那里,我想让它再次进入“未更改状态”(类似于“svnrevert”):$gitcheckoutHEADfoo/bar.tx

git - 您如何修复错误的 merge ,并将您的良好提交重播到固定的 merge 中?

在几次提交之前,我不小心将一个不需要的文件(filename.orig,同时解决merge)提交到我的存储库,直到现在我才注意到它。我想从存储库历史记录中完全删除该文件。是否可以重写更改历史,使filename.orig一开始就不会添加到存储库中? 最佳答案 如果您的情况与问题中描述的情况不同,请不要使用此食谱。此秘诀用于修复错误的merge,并将您的良好提交重播到已修复的merge中。尽管filter-branch会执行您想要的操作,但这是一个相当复杂的命令,我可能会选择使用gitrebase来执行此操作。这可能是个人喜好。fil

macos - 请输入提交消息来解释为什么需要进行此 merge ,特别是如果它将更新的上游 merge 到主题分支中

我正在使用Git。我从远程仓库中pull并收到一条错误消息:Pleaseenteracommitmessagetoexplainwhythismergeisnecessary,especiallyifitmergesanupdatedupstreamintoatopicbranch.我尝试输入一条消息并按Enter但没有任何反应。我如何告诉Git/Terminal我已完成消息输入?我在OSX上使用终端。 最佳答案 提交消息来自Git,但实际上是编辑器让你无法退出。这是因为Git使用你的默认编辑器,出于各种原因,它通常设置为vi(它可

git - 如何将所有 git 提交 merge 为一个?

如何将整个存储库压缩到第一次提交?我可以rebase到第一个提交,但是那会给我留下2个提交。有没有办法在第一个提交之前引用提交? 最佳答案 截至git1.6.2,你可以使用gitrebase--root-i对于除第一个以外的每个提交,将pick更改为squash。 关于git-如何将所有git提交merge为一个?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1657017/