我合并而不是拉,如何解决

  • 本文关键字:何解决 解决 合并 git
  • 更新时间 :
  • 英文 :


我有一个有点混乱的git树,我想知道修复它的最佳方法。

*   3f599ff - (HEAD, origin/enterprise-options, enterprise-options) Merge branch
|
| * 5087bec - (upstream/master) Remote Change (2 days ago)
| * 6705b5f - Remote Change (2 days ago)
* | 880c0a6 - New Feature (3 hours ago)
|/
* 312968b - Blah (4 weeks ago)

我应该在提交新功能 880c0a6 之前进行任何更改,但我没有。我决定合并上游/主 5087bec。如何恢复合并提交 3f599ff,拉取更改然后重新提交?

还是这棵树适合原样?我正在为一个开源项目做出贡献,这就是我的拉取请求目前的样子。

只要您没有推送到远程存储库,就可以撤消合并并拉取更改。

git reset --hard 880c0a6
git pull --rebase

这将删除远程提交,并将存储库重置为上次本地提交。 然后,您可以使用--rebase选项提取更改以获得线性历史记录。 仅当更改尚未推送到远程存储库时,才执行此操作。 你正在改变历史,这是一种不好的做法。 您将不得不执行git push -f并且使用遥控器的其他任何人在从遥控器更新时都会遇到问题

否则,像这样的合并提交通常是无害的。

最新更新