也许是个愚蠢的问题,但我想确定:
即使GIT不像AFAIK那样存储文件夹信息和文件名,它仍然能够识别文件名发生在实际没有发生的地方,我删除了一个旧文件,并放入了一个新文件(具有类似的内容)。
问题很简单,git中的数据是否正确,就像正在使用的新文件一样吗?(化妆品“改名”我可以忍受)
$ git status
# On branch fooBar
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
# deleted: src/main/resources/OLD.xls
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# src/main/resources/NEW.xls
$ git add .
$ git status
# On branch fooBar
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: src/main/resources/OLD.xls -> src/main/resources/NEW.xls发布于 2014-07-30 14:57:47
是的,数据将是正确的。
git将根据旧文件(已删除的文件)和新文件(已创建的文件)之间的相似性自动尝试检测重命名文件。您所做的与将旧文件重命名为新名称,然后更改其内容没有什么不同。如果内容的更改足够小,它将被检测为重命名。如果没有,它将被检测为已删除的文件+新文件。
git将文件作为重命名来检测是一件好事,因为您以后可以(用git blame)跟踪文件中每一行的来源(即在哪个提交中添加了它和由谁添加),即使源文件来自文件的不同名称。
发布于 2014-07-30 14:57:40
是的,git将继续跟踪NEW.xls文件的内容。您始终可以使用--follow选项查看更改的全部历史记录。关于--follow的用法,请参阅--follow,更全面的解释请参见http://thisbythem.com/blog/preserving-history-when-renaming-files-in-git/。
https://stackoverflow.com/questions/25039699
复制相似问题