【发布时间】:2011-03-09 08:23:43
【问题描述】:
仅供参考,我对 git 很陌生,主要使用 gitgui。
当我更改项目中包含已跟踪文件的已跟踪文件夹的名称时,git 将文件夹中的所有文件视为新的未跟踪文件。如何让 git 明白我只是更改了文件夹的名称,这样我就不会“丢失”该文件夹中包含的文件的历史记录?
【问题讨论】:
仅供参考,我对 git 很陌生,主要使用 gitgui。
当我更改项目中包含已跟踪文件的已跟踪文件夹的名称时,git 将文件夹中的所有文件视为新的未跟踪文件。如何让 git 明白我只是更改了文件夹的名称,这样我就不会“丢失”该文件夹中包含的文件的历史记录?
【问题讨论】:
Git 不会明确跟踪移动/重命名或副本。相反,它会在被要求时检测到它们。移动,然后运行git diff -M。
【讨论】:
Git 不关心您的文件或文件夹。我在那里说了。它跟踪您的内容。移动文件后,它会在 git status 中显示为删除一组文件/文件夹和创建文件/文件夹。在你提交之后,Git 会检测到它已经看到了这个确切的内容,并且不仅能够跟踪“文件”和“文件夹”,而且即使你通过它管理块的方式将代码从一个文件移动到另一个文件。
欢迎使用 Git!
【讨论】:
这里有一些例子表明 Git 确实是一个内容跟踪器:
因此,您不必明确告诉 Git 复制或移动:它会自动检测它们。
【讨论】: