我正在试图弄清楚为什么git重基会导致一个新创建的文件被删除,如果我要从已删除的分支中重新构建它。例如:
A1 - A2 - A3
\
B1
A2 = add a new file test.txt
A3 = delete test.txt
B1 = add the exact same file as A2如果签出B1并执行git rebase A3,则仍将删除test.txt。我希望结果是:
A1 - A2 - A3 - B1这意味着test.txt仍然存在。为什么在重基之后删除test.txt?
发布于 2016-05-06 04:06:30
正如 documentation所说:
请注意,HEAD中的任何提交都会带来与HEAD中提交相同的文本更改。省略(即已经接受的带有不同提交消息或时间戳的上游修补程序将被跳过)。
在您的示例中,B1引入了与A2相同的更改。这样,当您进行重基时,就会从重基过程中省略B1,因为这个修补程序已经有了。您可以添加-i选项来执行交互式重基。这使您可以看到,B1没有在待办重基进程列表中列出。尽管如此,您可以通过在交互式重基的todo列表中添加pick B1来手动选择提交。
https://stackoverflow.com/questions/37063238
复制相似问题