git - Git 中的错误 merge 冲突解决方案。重试错误的提交,保留此后的更改吗?

标签 git merge git-extensions merge-conflict-resolution

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

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

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

所以看起来像。

A(好)-> B(坏)-> C(尝试修复)-> D(恢复错误提交)-> A -> E(全新文件)-> F(全新文件)-> G(其他开发人员由于大问题而首次提交,引入了更多问题和冲突。)

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

请上帝帮助我。

最佳答案

尝试使用 SHA 引用 checkout 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)

关于git - Git 中的错误 merge 冲突解决方案。重试错误的提交,保留此后的更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10738596/

相关文章:

git - 在 git branch 中退后几个修改

git - 无法在 Intellij 上更新项目

git - 可以在 git/GitHub 中强制 merge 功能分支

Git - 糟糕的 merge 永久忽略子分支中的文件更改

git-extensions - GIT 扩展如何替换文件而不合并。

git - `git pull --rebase` 什么时候会让我惹上麻烦?

javascript - 合并 Canvas 和背景

git-flow 给出错误 : An item with the same key has already been added

windows - Git 扩展 "function not implemented"

git - 使用 libgit2/git2go 获取补丁的完整索引