在 Git 中回滚合并

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


我的同事在一个分支上,我在另一个分支上。 当她将她的分支与我的分支合并时,我的更改没有进入。 源文件在 Xcode 中是"M"(修改),而不是"C"(冲突),所以我们假设没问题。 我回到我的分支,我看到我更改的代码仍然存在,并且我的代码工作正常。 然后我们想再次尝试合并,但在我的桌面上。 同样的事情出现在文件是"M"而没有一个是"C"的地方。

我的更改再次被覆盖。 所以现在我正在尝试返回合并。 我尝试使用从 http://mac.github.com/下载的 Github 工具,方法是单击最近的提交,然后回滚到该提交,但我的更改似乎仍然消失了。 我在历史上没有看到分支的合并。 那是因为我合并后没有承诺吗?

如何在合并之前返回我的分支?

我没有使用过Xcode的版本控制GUI或Github工具。如果您知道包含更改的提交的 sha1,则可以在命令行执行此操作:

git reset --hard <the sha1>

这会将当前分支重置为提交。它还将重置工作树中的文件。小心。如果您有未提交的更改,它们将丢失。

您可以重置最后 n 个未推送的提交(已提交但未推送)。那么你需要使用的命令是

git reset HEAD  -- will omit the last commit
git reset HEAD^n  -- will omit the n number of last unpushed commits.

最新更新