git mv不会删除旧文件

Fra*_*ery 4 git github

我跑了这个:

 $ git mv README README.md
Run Code Online (Sandbox Code Playgroud)

然后:

 $ git commit -m "renamed" README.md
 $ git push origin master
Run Code Online (Sandbox Code Playgroud)

但是在github上,旧的README文件仍然存在于存储库中.为什么?

Amb*_*ber 5

因为你从未真正提交移动的删除部分.

http://www.kernel.org/pub/software/scm/git/docs/git-commit.html

要添加的内容可以通过多种方式指定:

...

3)通过将文件列为commit命令的参数,在这种情况下,commit将忽略索引中暂存的更改,而是记录列出的文件的当前内容(git必须已知);

注意这里的关键位:将忽略索引中暂存的更改.git mv分阶段删除旧文件和创建新文件,但不提交它们.当您调用时git commit README.md,它会提交文件的新名称版本,但会忽略旧文件的暂存删除.

请尝试此序列:

$ git mv README README.md
$ git commit -m "renamed"
$ git push origin master
Run Code Online (Sandbox Code Playgroud)