1. 程式人生 > >【技術】【總結】git配合gerrit使用的一些總結

【技術】【總結】git配合gerrit使用的一些總結

gerrit作為一個code review工具,配合git使用。但是程式碼既然需要review才能入庫,就代表著review完了之後有可能需要出現N次修改,才真正merge進git庫中。這種情況下,已經push完畢的commit被告知需要修改,就會出現一系列的問題。以下是一些簡單的總結:

1.回退到遠端分支(拋棄本地修改,但是untrack檔案不受影響,不會被抹掉)填寫file的時候回退檔案,填寫路徑的時候回退整個路徑下的內容。跟svn上面revert的感覺差不多。

git checkout <file/path>

2.檢視log的時候,列出每次commit影響的檔案列表

git log --name-only

3.修改上一次的commit。當commit已經push完畢,然後程式碼review之後被告知有些地方需要修改後再合入的時候,不要選擇abandon,先在本地完成程式碼修改,然後輸:

git add <file>

git commit --amend

git push ssh://[email protected]:29418/Meta4/VR-Apps/VrLauncherHEAD/refs/for/master

然後gerrit上面就可以看到最新的提交。History裡面會有所有的提交記錄。

4.回退到上一次commit,這種操作不會覆蓋本地修改

gitlog   ===>檢視想要回退到的commit編號

然後選擇你需要的那個commit輸入,比如:

git reset cfc914555434b15c490833872f05755c1f340277

5.玩壞了的情況下,比如各種衝突都不知道怎麼解決,想要一個完全clean的working tree(本地的東西全部失去),可以輸:

git reset --hard origin/master

以上總結的是我用過的一些出坑方法,有不對的地方請指正!


相關推薦

no