2011-11-16 73 views
1

如何交换两个文件,并在历史记录中标记它们? (除了做手工。)Git:如何交换两个文件

我预计一些标志git mv一样,

git mv --swap foo.txt bar.txt 

将产生

# renamed: foo.txt -> bar.txt 
# renamed: bar.txt -> foo.txt 

是否有这个在Git支持?

回答

3

Git实际上并没有对重命名进行跟踪,它只是基于特定提交内容的改变来确定启发式。如果你按照你所描述的描述,你可能会看到如下所示的内容,但这取决于文件。

Modified: foo.txt 
Renamed: foo.txt -> bar.txt 
+0

有趣。我尝试了http://effectif.com/git/swapping-two-files-in-git中描述的步骤,并且我没有重命名,重命名但复制,重命名。 –

1

git不存储某些文件被重命名为另一个文件的信息,所以这个问题没有意义。