[英]Git and management rebase of branches
我從[dev-project2]分支創建了一個新分支(pj2 / new-register-feature),並為[dev-project2]分支創建了一個pull請求。 (拉請求1)。
然后讓我們繼續動作rebase [dev-project2]到[dev-project1]並在rebase之后推送[dev-project2]分支。
但是當我按照上面的回復[pull request 1]時,在將[dev-project2]重新設置為[dev-project1]分支后,在[pull request 1]上發生了很多提交。
那么,你能幫我解釋一下嗎?如何更新[pull request 1]只看到[pj2 / new-registry-feature]的提交創建了拉請求
以下是我如何理解您的問題(如果我錯過了某些內容,請告訴我):
你開始於:
--A--B--C--D--E--F--G--H <- dev-project1
\
\-c--d--e--f--g <- dev-project2
\
\-p--q--r <- pj2/new-register-feature
並創建了一個pull請求,將pj2/new-register-feature
合並到dev-project2
。
然后你將dev-project2
dev-project1
。
隨着rebase的完成,圖表現在看起來像:
--A--B--C--D--E--F--G--H <- dev-project1
\ \
\-c--d--e-[f]-[g] \-c'--d'--e'--f'--g' <- dev-project2
\
\-p--q--r <- pj2/new-register-feature
您在合並請求中觀察到的是:
p--q--r
作為你的分支的歷史(wrt dev-project2
), c--d--e--p--q--r
如果你想恢復更接近初始圖形的東西,你需要在e'
之上pj2/new-register-feature
(即: pj2/new-register-feature
之間的原始fork點的重新定義版本) dev-project2
)。
我會嘗試用圖像來解釋它。
在將project2重新綁定到project1之后,您將更改project2中的所有提交(至少是它們的哈希),因為rebase會在project1中的提交之后將它們放入。 在這種情況下,您的project2提交和新注冊功能提交完全不同,您可以看到所有這些提交。
閱讀https://git-scm.com/book/en/v2/Git-Branching-Rebasing以獲取更多數據,它們解釋了您在重新定位時會發生什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.