簡體   English   中英

如何管理git-svn儲存庫的分支?

[英]How do I manage a fork of a git-svn repository?

假設我要向LLVM添加一個新目標,並且我想將更改保留在GitHub上,直到准備好將它們提交到上游為止。 LLVM維護其SVN存儲庫的Git鏡像,並建議在與upstream/master git pull --rebase同步時使用git pull --rebase 到目前為止的計划是,我的存儲庫的master分支將跟蹤upstream/master ,然后mytarget分支將進行我的更改。

Git書 》這樣說:

不要對存儲庫外部存在的提交進行基准化。

所以,如果我想git pullupstream/mastermastergit push回到origin ,我不應該使用--rebase ,然后呢? 還是應該使用git pull --rebaseupstream/master git pull --rebase同步,然后從master mytarget合並到mytarget

在這種情況下,我的總體工作流程應該是什么?

git pull --rebase將尚未推送的那些提交git pull --rebase ,因此應該是安全的。 讓我們看看…

A  B  c  D
*--*--*--* <master
      |
  origin/master

您有一個未按下的提交D 如果遠程主服務器上有兩個新的提交,並且您運行git pull --rebase origin/master git pull這兩個提交,並且在它們之上重新提交提交D

A  B  c  X  Y  D`
*--*--*--*--*--* <master
            |
      origin/master

新的提交是D' (提交從未真正編輯或移動過-git而是創建新的提交並移動分支指針)。 現在,您執行git push origin master來推送新的提交和更新,我們看到:

A  B  c  X  Y  D`
*--*--*--*--*--* <master
               |
         origin/master

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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