Git diff hash順序的問題

weixin_34119545發表於2012-12-22

今天在打差異包的時候,發現打包失敗。原來是拷貝檔案失敗。

於是,打檔名與檔案狀態列印出來看,發現新增檔案的狀態“A”與刪除檔案狀態“M”調轉了!

這一度讓我以為是Perl傳遞引數的時候發生了錯誤。於是糾結在陣列引用傳遞的問題上,同時將程式碼優化了一下。

後來發現這不是辦法,因為實在不對勁。在本地進行若干嘗試後,發現,檔案在本地的狀態與伺服器的狀態也是相反的。

我用的命令是

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

於是嘗試了將兩個Hash碼調轉,果然,狀態和伺服器一樣了。原來是參照物的問題,而不是Perl引用傳遞的問題!

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

 第一個Hash樹是引數物。

相關文章