2

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

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

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

所以看起来。

A(好)-> B(坏)-> C(尝试修复)-> D(恢复错误提交)-> A -> E(全新文件)-> F(全新文件)-> G(其他dev 第一次提交,因为大问题,引入了更多的问题和冲突。)

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

请上帝帮助我。

4

1 回答 1

4

尝试使用 SHA 引用签出您的 A 提交,使用 git 中的 cherry-pick 命令从 A 和樱桃挑选 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)
于 2012-05-24T14:32:43.970 回答