Intellij在Git仓库中移动删除历史记录

时间:2015-03-30 22:35:41

标签: git intellij-idea

在Intellij中,我在包之间移动文件,似乎git删除并重新添加文件。如何在课堂动作中制作Intellij git mv

2 个答案:

答案 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中。