git - 移动文件

来源:互联网 发布:费洛蒙香水 知乎 编辑:程序博客网 时间:2024/06/08 12:44

不像其他的 VCS 系统,Git 并不跟踪文件移动操作。如果在 Git 中重命名了某个文件,仓库中存储的元数据并不会体现出这是一次改名操作。不过 Git 非常聪明,它会推断出究竟发生了什么,至于具体是如何做到的,我们稍后再谈。

既然如此,当你看到 Git 的 mv 命令时一定会困惑不已。要在 Git 中对文件改名,可以这么做:

$ git mv file_from file_to

它会恰如预期般正常工作。实际上,即便此时查看状态信息,也会明白无误地看到关于重命名操作的说明:

$ git mv README.txt README$ git statusOn branch masterChanges to be committed:  (use "git reset HEAD <file>..." to unstage)        renamed:    README.txt -> README

其实,运行 git mv 就相当于运行了下面三条命令:

$ mv README.txt README$ git rm README.txt$ git add README

如此分开操作,Git 也会意识到这是一次改名,所以不管何种方式都一样。当然,直接用 git mv 轻便得多,不过有时候用其他工具批处理改名的话,要记得在提交前删除老的文件名,再添加新的文件名。

0 0
原创粉丝点击