几天前,我在 these steps 中重命名了一个名为 emcee
的分支(在 my repo 之后)发送至 emcee_old
。然后,我创建了一个具有相同名称 (emcee
) 的新分支,但从 develop
分支中的不同点分支。 Github 展示了这个过程,如下:
问题是,现在如果我检查 new emcee
分支中的文件,它包含在 old< 中对该文件所做的提交/em> 主持人
。例如.gitignore新分支中的文件显示了 2017 年在旧分支中进行的提交:
更奇怪的是,如果我访问该文件的历史记录(在新分支中)该提交不存在:
为什么会出现这种情况?
最佳答案
简而言之,Git 不会在名称相似的分支之间进行提交。
所以您创建了一个分支,然后将其重命名并创建了一个同名的新分支?我已经在 git v1.8.4.2 中成功完成了此操作,但没有使用 Github。
我怀疑 Github 的界面有问题。您可以通过将其从循环中删除并在命令行上本地研究存储库的历史记录来测试这一点。尝试运行git log --graph --all
在终端窗口中输入命令并研究输出。这将显示您的所有分支及其聚合/发散历史记录。也可以尝试git log --graph --all .gitignore
将历史报告限制为有问题的文件。我希望您会看到一个更可预测的结果,与 Github 显示的结果不同。
如果您的存储库还有其他用户,这会变得更加复杂。协作者可能会在推送期间意外恢复旧分支。然而your link表示您不必担心这一点,因为这是一项单独的工作。
关于git - 命名为旧的重命名分支的新分支是否会继承其提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49158322/