我正在使用Git + Gerrit,結果比我預期的要多一點點。我怎樣才能看到所有影響具有git的特定文件的提交列表(包括孤立提交或懸掛提交)
由於還沒有達到學習曲線的頂部,我已經失去了對文件所做的一些更改。
我認爲那些改變可能在之前的提交中,在Gerrit似乎需要的merge-and-rebase歌曲和舞蹈例程中,它會成爲孤兒。
如何查看影響特定文件的所有提交(孤立或不是)的列表,以便我可以一一瀏覽並嘗試查找我的更改?
我正在使用Git + Gerrit,結果比我預期的要多一點點。我怎樣才能看到所有影響具有git的特定文件的提交列表(包括孤立提交或懸掛提交)
由於還沒有達到學習曲線的頂部,我已經失去了對文件所做的一些更改。
我認爲那些改變可能在之前的提交中,在Gerrit似乎需要的merge-and-rebase歌曲和舞蹈例程中,它會成爲孤兒。
如何查看影響特定文件的所有提交(孤立或不是)的列表,以便我可以一一瀏覽並嘗試查找我的更改?
不知道格里特和「合併,和重訂歌曲和舞蹈」之分,但在一旦你提交了Git,你總是可以回覆(除非你採取特殊行動來阻止這一點)。
首先,檢查什麼承諾你有興趣:
git reflog -- <file>
一旦你的(差)孤兒提交的ID是已知的,您可以執行下列操作之一:
git merge <commit_id>
或
git reset --hard <commit_id>
兩者之間的選擇取決於您,並取決於以下因素(其中RS)的
編輯:
發現了一個有趣的技巧:
git cherry-pick -n <commit_id>
這將適用於您當前HEAD的孤立提交,但不會自動提交更改 - 您可以簽出不相關的內容並僅保留對所涉及文件的更改。
注意:我從來沒有使用rebase,因此可能出現這種情況,這種伎倆需要某種適應你的情況
您可以使用log
來獲取提交列表。這樣做會顯示更改爲file1中所有分支上(請參閱聯機幫助頁git-log
瞭解更多信息):
git log -g --pretty=oneline --all -- file1