假设您之前推送了新文件c.rb
和d.rb
,您的工作区 HEAD 指向此提交,并且文件a.rb
和b.rb
在您的工作区中被删除:
[dmahar@dmahar rename3]$ git reset --hard HEAD
HEAD is now at d77decf Rename 'a.rb' to 'c.rb' and 'b.rb' to 'd.rb'.
[dmahar@dmahar rename3]$ ls
a.rb b.rb c.rb d.rb
[dmahar@dmahar rename3]$ git rm c.rb d.rb
rm 'c.rb'
rm 'd.rb'
[dmahar@dmahar rename3]$ ls
a.rb b.rb
[dmahar@dmahar rename3]$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: c.rb
# deleted: d.rb
#
[dmahar@dmahar rename3]$ git commit --message "Delete 'c.rb' and d.rb'."
[master 60f97ab] Delete 'c.rb' and d.rb'.
0 files changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 c.rb
delete mode 100644 d.rb
[dmahar@dmahar rename3]$ ls
a.rb b.rb
[dmahar@dmahar rename3]$ git mv a.rb c.rb
[dmahar@dmahar rename3]$ git mv b.rb d.rb
[dmahar@dmahar rename3]$ git commit --message "Rename 'a.rb' to 'c.rb' and 'b.rb' to 'd.rb', again."
[master 8182195] Rename 'a.rb' to 'c.rb' and 'b.rb' to 'd.rb', again.
2 files changed, 0 insertions(+), 0 deletions(-)
rename a.rb => c.rb (100%)
rename b.rb => d.rb (100%)
[dmahar@dmahar rename3]$ ls
c.rb d.rb
[dmahar@dmahar rename3]$ git log -M --summary
commit 8182195c1494541ab1dcaa97607ce4dc8b277d56
Author: Derek Mahar <derek.mahar@intelerad.com>
Date: Thu May 30 15:21:12 2013 -0400
Rename 'a.rb' to 'c.rb' and 'b.rb' to 'd.rb', again.
rename a.rb => c.rb (100%)
rename b.rb => d.rb (100%)
commit 60f97abb56e5b1e32d02dfb8ff14400910d4fef4
Author: Derek Mahar <derek.mahar@intelerad.com>
Date: Thu May 30 15:20:11 2013 -0400
Delete 'c.rb' and d.rb'.
delete mode 100644 c.rb
delete mode 100644 d.rb
commit d77decf9863fb1b4f8a2902becf687e6ececf4ce
Author: Derek Mahar <derek.mahar@intelerad.com>
Date: Thu May 30 12:59:15 2013 -0400
Rename 'a.rb' to 'c.rb' and 'b.rb' to 'd.rb'.
create mode 100644 c.rb
create mode 100644 d.rb
commit 219ce73f40d46690d77751fccd86b7c5a60b0d7d
Author: Derek Mahar <derek.mahar@intelerad.com>
Date: Thu May 30 12:58:24 2013 -0400
Add 'a.rb' and 'b.rb'.
create mode 100644 a.rb
create mode 100644 b.rb