2011-11-07 61 views
2

git show顯示修改中所做的所有更改。但是,它會打印出所有更改 - 而不僅僅是文件名。 git show --stat顯示我只是文件名,但它切斷了它們!無論如何,只需獲取已更改的文件名的完整列表即可。只顯示在修訂中更改的(完整)文件名

回答

2

我不明白你爲什麼必須做grep和cut,因爲當其他答案給出時,git可以直接提供給你(你不必依賴於後來的輸出相同版本):

git log --name-only --pretty=format: -1 

git diff --name-only HEAD HEAD^ 

你可以做同樣的任何修訂/承諾,你想要的。

+0

你顯示的'git log'命令有一個小問題,那就是在開頭部分包含一個額外的空白行,這可能會混淆腳本... – snogglethorpe

+0

奇怪的是,該方法有效,但是在[--name-only]幫助頁面什麼也沒找到 – Casebash

+0

@Casebash - 它在手冊中。 – manojlds

1

嘗試

git log --raw -1 | grep ^\: | cut -f2 

這會給你的文件的完整路徑。

+0

謝謝,很好! – Casebash

+0

超級。你也學習'grep'和'cut'。這些對於在命令行上使用git很有用。 –

相關問題