Git diff hash顺序的问题

今天在打差异包的时候,发现打包失败。原来是拷贝文件失败。

于是,打文件名与文件状态打印出来看,发现添加文件的状态“A”与删除文件状态“M”调转了!

这一度让我以为是Perl传递参数的时候发生了错误。于是纠结在数组引用传递的问题上,同时将代码优化了一下。

后来发现这不是办法,因为实在不对劲。在本地进行若干尝试后,发现,文件在本地的状态与服务器的状态也是相反的。

我用的命令是

git diff-tree HEAD HEAD^ --name-status 

于是尝试了将两个Hash码调转,果然,状态和服务器一样了。原来是参照物的问题,而不是Perl引用传递的问题!

 git diff-tree HEAD^ HEAD --name-status

 第一个Hash树是参数物。

posted @ 2012-12-22 10:11  ifeixiang  阅读(580)  评论(0编辑  收藏  举报