首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将“重命名”文件的内容进行版本化

将“重命名”文件的内容进行版本化
EN

Stack Overflow用户
提问于 2014-07-30 14:39:02
回答 2查看 45关注 0票数 1

也许是个愚蠢的问题,但我想确定:

即使GIT不像AFAIK那样存储文件夹信息和文件名,它仍然能够识别文件名发生在实际没有发生的地方,我删除了一个旧文件,并放入了一个新文件(具有类似的内容)。

问题很简单,git中的数据是否正确,就像正在使用的新文件一样吗?(化妆品“改名”我可以忍受)

代码语言:javascript
复制
$ 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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-30 14:57:47

是的,数据将是正确的。

git将根据旧文件(已删除的文件)和新文件(已创建的文件)之间的相似性自动尝试检测重命名文件。您所做的与将旧文件重命名为新名称,然后更改其内容没有什么不同。如果内容的更改足够小,它将被检测为重命名。如果没有,它将被检测为已删除的文件+新文件。

git将文件作为重命名来检测是一件好事,因为您以后可以(用git blame)跟踪文件中每一行的来源(即在哪个提交中添加了它和由谁添加),即使源文件来自文件的不同名称。

票数 1
EN

Stack Overflow用户

发布于 2014-07-30 14:57:40

是的,git将继续跟踪NEW.xls文件的内容。您始终可以使用--follow选项查看更改的全部历史记录。关于--follow的用法,请参阅--follow,更全面的解释请参见http://thisbythem.com/blog/preserving-history-when-renaming-files-in-git/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25039699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档