[英]Gerrit Rebase including parents
在gerrit中,我通常會將多個小提交放在一起。 一旦他們被審查並准備提交,我看到按鈕Submit including parents
所有更改的Submit including parents
,而第一個更改有一個Submit
按鈕。
在檢查這些更改的同時,目標分支的HEAD多次移動到我的更改的父提交之前。 如果我要對分支的當前HEAD進行整套更改,則需要我在本地系統上手動執行並再次推送到gerrit。 我想知道我們是否有像Rebase including parents
這樣的選項, Rebase including parents
,我可以在不需要在本地系統上做任何事情的情況下重新整理整個鏈(只有在它沒有沖突的情況下)?
我想知道我們是否有像Rebase這樣的選項,包括父母,我可以在不需要在本地系統上做任何事情的情況下重新整理鏈條(只有在沒有沖突的情況下)?
不,Gerrit沒有這樣的功能。 在Gerrit的用戶界面中執行此操作的唯一方法是從下到上單獨重新定義系列中的每個更改。
我已在Gerrit問題跟蹤器上創建了一個請求,以添加“包含父項的rebase”功能。
Gerrit 2.4版本 ,它引入了rebase按鈕,如此處所述 。
rebase只涉及一個分支,可能在父分支中有祖先提交。
如果您有在rebase之后更改的本地父分支,最簡單的方法是獲取Gerrit repo並將yuor本地分支重置為新的遠程分支HEAD
git branch -f myBranch origin/myBranch
git branch -f myParentBranch origin/myParentBranch
這樣,rebase在Gerrit端完成,重置在本地完成。
如果您希望目標分支的歷史記錄盡可能線性,請轉到項目 - >常規頁面,並根據Rebase If Necessary
將Submit Type
更改為Rebase If Necessary
。 當您按Submit
或Submit including parents
,這些提交將自動重新定位到目標分支的當前頭部,而不是以遞歸方式合並。 請注意,如果需要記錄提交sha1,則會為每個更改創建新的修補程序集。 如有必要,請不要忘記同步本地分支。
git fetch origin <target-branch>
git reset FETCH_HEAD --hard
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.