簡體   English   中英

為什么git diff-tree show總是顯示重命名為添加和刪除

[英]Why does git diff-tree show always show rename as add and delete

在兩個測試提交中,其中第一個只有操作git mv file moved_file ,第二個只有mv moved_file moved_again_file && git add -A moved_file moved_again_file ,它們在提交前都顯示為git status重命名,但是在git commit --verbose它們顯示為新文件和刪除文件。

我期待每次提交后git diff-tree HEAD顯示一個R (重命名)狀態,但我一直得到兩個: AD

我正在嘗試編寫一個基於文件狀態執行操作的腳本,但如果它們總是顯示為添加/刪除,我無法正確規划R (或C )狀態。

Git是版本1.8.3.1,如果這有所不同。

git diff-tree命令是一個管道命令,而不是瓷器命令,因此它具有可預測的行為。

其中之一是除非明確打開,否則重命名檢測已關閉 將此與例如git diff對比,這是一個瓷器命令,因此根據您對diff.renames的個人配置設置重命名檢測。

要啟用重命名檢測,請添加-M--find-renames (及其可選閾值)。 使用-C--find-copies (及其可選閾值)來查找副本; 如果需要,添加--find-copies-harder

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM