簡體   English   中英

Git和管理層的分支機構

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM