Git 中的合并冲突解决错误.重试错误提交,保留更改



我正在和另一个开发人员一起做一个小项目,我们遇到了一些情况。我们都熟悉SVN,但Git对我们俩来说都是新的。

我们正在存储库中的单个分支上工作,每个分支都处理我们项目的不同方面。

发生的事情是他提交了一些东西,然后我提交了一些东西,发生了冲突(在设计器文件中,因为它试图将我们的两个新文件放在同一个"位置"),当我解决它们时,我一定错过了一些东西,但现在它不起作用。我设法以某种方式使文件进入工作状态,并继续我的快乐方式,添加更多不受不良冲突解决影响的内容。

所以它看起来像。

A(好) -> B(坏) -> C(尝试修复) -> D(还原错误提交) -> A -> E (全新文件) -

> F(全新文件) -> G(其他开发首次提交,因为大问题,引入了更多问题和冲突。

我基本上想做的是回到 A. 并合并我的 B、E 和 F 提交,此时另一个开发人员可以提交 G。在这一点上,我不知道B和E之间发生了什么,所以我宁愿放弃它,因为这只是我试图解决问题。但是,当我回到 A 时,我不会像最初提交 B 时那样被提示发生冲突。

请上帝帮助我。

尝试使用 SHA 引用签出 A 提交,从 A 创建一个新分支,并使用 git 中的 cherry-pick 命令挑选 B、E 和 F。

git checkout -f A23FDE (A)
git checkout -b new-branch-name
git cherry-pick F45HJ2 (B)
git cherry-pick E49FG2 (E)
git cherry-pick K83D87 (F)

最新更新