1

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

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

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

4

2 回答 2

1

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

git reset --hard <the sha1>

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

于 2012-04-23T23:56:46.670 回答
1

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

git reset HEAD  -- will omit the last commit
git reset HEAD^n  -- will omit the n number of last unpushed commits.
于 2012-04-24T08:36:50.457 回答