Git详解之二 Git基础(第二部分)
移动文件 不像其他的 VCS 系统,Git 并不跟踪文件移动操作。如果在 Git 中重命名了某个文件,仓库中存储的元数据并不会体现出这是一次改名操作。不过 Git 非常聪明,它会推断出究竟发生了什么,至于具体是如何做到的,我们稍后再谈。 既然如此,当你看到 Git 的 mv 命令时一定会困惑不已。要在 Git 中对文件改名,可以这么做: $ git mv file_from file_to 它会恰如预期般正常工作。实际上,即便此时查看状态信息,也会明白无误地看到关于重命名操作的说明: $ git mv README.txt README $ git status # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # # Changes to be committed: # (use "git reset HEAD ..." to unstage) # # renamed: README.txt -> README # 其实,运行 git mv 就相当于运行了下面三条命令: $ mv README.txt README $ git rm README.txt $ git add README 如此分开操作,Git 也会意识到这是一次改名,所以不管何种方式都一样。当然,直接用 git mv