Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git:修复noobish错误以避免重基地狱_Git_Git Rebase - Fatal编程技术网

Git:修复noobish错误以避免重基地狱

Git:修复noobish错误以避免重基地狱,git,git-rebase,Git,Git Rebase,我对git有点陌生,我决定直接进入它,而不是给自己一个合适的教程。在一个项目上工作了一个月后,我给自己惹了点麻烦。 我在某个时间点决定我不喜欢某段代码的结果,所以在那一点上,B,我分支到E,删除了有问题的文件,并将其重新创建为一个全新的文件。显然,最好的办法是使用git-rm,而不是仅仅删除文件。。。我现在需要重新设置E的基址以从C分支出来,但不确定如何管理它,因为它与重新设置基址冲突,因为两个分支中的文件都发生了更改。我的目标基本上是让从E开始的分支继续使用新文件,但将C的更改合并到新分支中。

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

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

您的结论性陈述告诉我,您正在寻找的是将C中的特定文件或更好的D中的特定文件与G中的相同文件合并。通过这种方式,您将拥有新文件,因为它已从E进展到G,包括您在C中所做的更改,我认为也在D中

可以在分支之间合并特定文件。由于我在这方面不是很有经验,我将向您介绍几个链接,这些链接描述了如何做到这一点:


我希望这能有所帮助。

仅仅签出文件似乎有点困难,但因为我没有更好的选择,所以我选择了(jasonrudolph链接)。谢谢你的推荐。