在Intellij中,我在包之间移动文件,似乎git删除并重新添加文件。如何在课堂动作中制作Intellij git mv
?
答案 0 :(得分:2)
Git并没有真正拥有"移动文件的概念&#34 ;; git mv
命令只是删除和重新添加的简写(加上实际在文件系统中移动文件)。您可以告诉某些git命令尝试检测重命名/移动(通过提供相似性阈值),但是没有办法在存储库中记录文件x已被移动到y。
但是,只要add + delete在同一次提交中发生,许多git命令就能够跟踪移动文件的变化。例如,git blame -C <filename>
将显示每行的原始作者,与上次移动文件的人无关。
答案 1 :(得分:0)
根据关于git mv
的其他问答,似乎 Linus Torvalds 在这里丢了球-尽管他坚持这是设计使然。
我们最好地解决这个问题。
git commit
仅 用于移动/重命名目录 git
似乎可以使用--follow
进行跟踪,而Intellij也可以弄清楚。
请注意,混合和匹配对文件和 git mv
的更新是失败的方法-无论是git
还是在Intellij中。