Git 合并错误

  • 本文关键字:错误 合并 Git git
  • 更新时间 :
  • 英文 :


我在与 git 合并时犯了一个错误。我有一个主分支和另一个叫做火星的分支。

主分支包含非常旧的代码,我不想使用它。然而,当我试图获得最新的火星代码时,我做到了:

git fetch
git merge origin/master       <------ This is a mistake as I should use "git merge origin/mars"

最后一个命令因合并失败而失败,并要求我解决冲突。我解决了冲突并做了

git stash
git stash drop

我认为这应该删除我刚刚手动解决冲突的任何内容。

但我不确定我是否错误地将主人到火星的东西合并了。如果是这样,火星分支就被污染了。

无论如何,我可以确认我的本地火星没有与主人的任何东西合并吗?(它不被连接(。

非常感谢。

您可以恢复到以前的提交,忽略任何更改:

git reset --hard HEAD

其中 HEAD 是当前分支中的最后一次提交。

如果你想得到远程火星分支

git reset --hard origin/mars

git 中不会丢失任何东西,只要你没有推送任何东西,你就可以安全地做很多提交图手术。

检查日志(或使用gitk --all(以了解分支指针是什么以及以前是什么。然后,如果需要,将它们更改为以前使用 git branch -f <branchname> <commit> .

如果您只想检查是否存在差异(在mars时(:

git diff origin/mars

如果存在差异,您会注意到它们。

如果存在差异或要确保本地mars分支与远程mars分支完全相同,请执行

git reset --hard origin/mars

小心!这将丢弃对mars的任何本地更改,并使其与origin/mars完全相同。

在 git 中,当您尝试合并并且存在冲突时,它不会创建提交。这意味着由于git status而产生的任何更改都是您不希望的更改。验证最后一次提交是否是您想要的 git log 提交。

如果git status产生结果,请通过执行 git checkout * 使用最新的签出覆盖更改的文件。这假设你已经在火星分支上。

如果 git status 没有输出,请按原预期继续执行 git merge origin/mars 命令。

最新更新