git rollback提交与先前提交的合并并将其推送到服务器

时间:2015-01-06 21:44:54

标签: git

我已经合并并将其推送到服务器。但我不喜欢它是如何合并的。我使用此命令回滚:

git checkout 93efaa6d224b4a6240018e746e94c03a4cd4f8c7

但是我已经提交了我想要与我当前的状态合并,这是在另一个用户提交93efaa6d224b4a6240018e746e94c03a4cd4f8c7之前做的。

现在终端说:HEAD detached from 93efaa6

如何与其他提交41b9bd5合并,并将所有这些更改移至所有提交的顶部。

enter image description here

所以现在我仍然坚持修复并希望与添加内部版本号自动增量合并。然后想要推送到服务器。

2 个答案:

答案 0 :(得分:0)

要将分支回滚到该提交(而不仅仅是将其检出以进行浏览或用作起点),请使用git reset--hard同时重置工作目录):< / p>

git reset --hard 93efaa6d224b4a6240018e746e94c03a4cd4f8c7

要推动这一点,您还需要git push -f

答案 1 :(得分:0)

您似乎可以使用git reset命令回滚您的提交(以及所有更改,直到提交93efaagit reset --hard 93efaa6d224b4a6240018e746e94c03a4cd4f8c7

  • git reset专门用于更新索引,移动HEAD。
  • git checkout是关于更新工作树(到索引或指定的树)。只有在你结账时才会更新HEAD(如果没有,你最终会得到一个分离的HEAD)。

您可以创建新的更改器(如果有任何并创建新的提交)并使用git-rebase -i重新绑定您的树(并合并所有需要的提交)。