【发布时间】:2021-01-23 15:05:52
【问题描述】:
我有一个使用子模块 B 的 repo A。 Repo A 将文件 file.filetype 作为跟踪对象。我想将该文件移动到B。我不一定要保留历史记录,但我想对B 的任何用户非常清楚,该文件不仅仅是新创建的,而是从A 移动的(例如,通过提供@ 987654328@ 和文件被移走的修订版)。同样在A 上,我希望它明确说明发生了什么:在此修订版中,文件已移至B,从某个修订版开始可以找到它。
我试过git mv,它似乎奏效了,但现在在A 上,git status 也告诉我B 已被删除,并且@ 的一些(如果不是全部)文件987654335@被认为是“未跟踪的文件”,这不仅奇怪而且令人担忧。在B 内部,但一切都或多或少都很好——它注意到一个新的、因此未被跟踪的文件的幻影。可悲的是它不知道从哪里来,但它已经看到了。
有什么建议吗?
【问题讨论】:
-
您不能使用
git mv的原因是子模块是一个独立的Git 存储库。git mv所做的是在 one 存储库中安排多步添加和删除更改,但在这里您需要影响两个不同的存储库。 (几乎可以肯定,git mv试图这样做并把它弄得一团糟。)