2013-02-28 64 views
2

我可以列表提交的文件,即使它已被重命名或移動git的日誌排除重命名

git log --follow foo.sh 

不過,我想「跟隨」的文件,但只列出提交該文件被其實已經改變像

git log --follow --exclude-renames foo.sh 

回答

1
git log --follow --name-status --oneline foo.sh | sed 'h;N;/\nR/d;g' 
  • 副本提交線保持空間
  • 在第二行讀
  • 如果開始R線被發現,刪除模式空間並開始下一個循環, 保留空間別人複製到模式空間

感謝jthill

+0

看起來不錯,並使用sed作爲我的回答是預測。 +1 – VonC 2013-02-28 18:07:35

1

像在 「nicely display file rename history in git log」 了一下,你可以爲了增加--name-status到:

  • 沒有選擇(grep -v重命名:狀態 'Rxxx',同時保持除了 'A' 或修改'M')
  • 仍然按照文件通過其不同的名稱

但是,這仍然涉及後處理git log命令(使用grep和/或sed)以獲得所需的輸出:沒有任何本機'--exclude-renames'樣的選項。

+0

看到如何'--exclude-renames'選項比僅僅提供sed做的時間短兩個字節,我很難看到另一個選項名稱...... :-) – jthill 2013-02-28 18:57:13