几天前,我将these steps中名为emcee
的分支(my repo}重命名为emcee_old
。然后,我创建了一个具有相同名称(emcee
)的新分支,但是从develop
分支中的不同点开始分支。以下是Github如何展示这一过程:
现在的问题是,如果我检查 new emcee
分支中的文件,它会包含在旧中对该文件进行的提交emcee
。例如,新分支中的.gitignore文件显示2017年在旧分支中提交的提交:
即使更奇怪的是,如果我访问该文件的历史记录(在新分支中)提交不存在:
为什么要在这里?
答案 0 :(得分:2)
简而言之,Git不会在类似命名的分支之间进行提交。
所以你创建了一个分支,然后重命名它并用同一个名字创建一个新的分支?我已成功地在git v1.8.4.2中完成了这项工作,但没有使用Github。
我怀疑Github的界面存在问题。您可以通过在循环中剪切它并在命令行上本地研究repo的历史来测试它。尝试在终端窗口中运行git log --graph --all
命令并研究输出。这将显示所有分支及其收敛/发散历史记录。同时尝试git log --graph --all .gitignore
将历史报告限制为相关文件。我希望你会看到更可预测的结果,与Github显示的不同。
如果您的存储库中有其他用户,则会变得更加复杂。合作者可能会在推送过程中意外恢复旧分支。但是your link表示您不必担心这一点,因为这是单独的努力。