Git:修复 noobish 错误以避免 rebase hell

标签 git git-rebase

我对 git 有点陌生,所以我决定直接进入它而不是给自己一个适当的教程。在一个项目上工作了一个月后,我给自己惹了点小麻烦。 我在某个时间点决定我不喜欢一段特定代码的结果,所以在那个时候,B,我分支到 E,删除了有问题的文件,并将它重新创建为一个全新的文件。显然最好的办法是使用 git rm 而不是仅仅删除文件...我现在需要将 E rebase 以从 C 分支出来,但我不确定如何管理它,因为与 rebase 有冲突,因为文件在两个分支中都发生了变化。我的目标基本上是让从 E 开始的分支继续新文件,但将 C 的更改 merge 到新分支中。如果您能帮助我们解决如何管理 rebase 问题,我们将不胜感激。

A -> B -> C -> D
     \
       E -> F -> G

最佳答案

您的结论性陈述告诉我您正在寻找的是将 C 中的特定文件或 D 中的特定文件与 G 中的相同文件 merge 。这样您将获得从 E 到 G 的新文件包括您在 C 中所做的更改,我认为这些更改也在 D 中。

可以在分支之间 merge 特定文件。由于我在这方面的经验不是很丰富,因此我会向您推荐几个描述如何执行此操作的链接:

http://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another-branch/

How do I merge changes to a single file, rather than merging commits?

希望对您有所帮助。

关于Git:修复 noobish 错误以避免 rebase hell ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13280065/

相关文章:

几天前创建的分支的 Git rebase

git - 如何从我的分支中删除文件?

git删除了所有东西,如何恢复文件和文件夹

git - 将新创建的特定文件夹添加到 Git 中的 .gitignore

git - 使用 shell 脚本更改 *n* 次提交的 git 历史记录(提交日期)

git rebase 与分离分支的 git cherry-pick

git - cygwin 上的 git 是否支持 Windows 网络共享上的存储库?

git - 如何使用Hg-to-Git工具-快速导出?

git rebase merge 冲突

git - 奇怪的git merge 问题