在Git中还原或重置远程提交?

时间:2014-11-15 07:46:18

标签: git

我正在处理一个项目并使用Gi​​t进行版本控制。我在我的develop分支上的计算机A上做了一些工作并将其推送到我的远程存储库,该存储库被设置为远程分支origin/develop。然后我在计算机B上的develop分支上做了很多工作,但忘记了从计算机A提取最后一次提交。当我最终从计算机B上的develop分支获取最新信息时图表像这样分开。

* Computer B Commit 3 [develop]
|
* Computer B Commit 2
|
* Computer B Commit 1  
|
|  * Computer A Commit [remotes/origin/develop]
|  /
*

此时我并不关心我在计算机A上所做的工作。我已经在计算机B的提交中完成了这项工作。但是如果我尝试运行{{1 git将尝试让我合并两个分支。我不想合并任何东西。我真的只想让git push origin指向最新的本地remotes/origin/develop分支develop

我是唯一一个从事这个项目的人,所以没有人有机会从计算机A中提取最后一次提交。听起来我可以通过使用Computer B Commit 3强制推送但是,我现在正在阅读的一些文章说,如果其他人已经拉过来,这将是不好的。

解决这个问题的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

由于您是该项目中唯一的一个,从计算机B:

git push -f origin develop

这将覆盖计算机A的所有历史记录

这取决于您对计算机A提交的关注程度。我实际上尝试在计算机B上运行git pull --rebase origin develop,它会尝试将您的更改自动合并到B上的提交中您从A远程提交,如果有冲突,您可以解决它们,然后git rebase --continue