[英]git-svn: branch renamed in svn repository, how do I tell 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 pull
從upstream/master
到master
和git push
回到origin
,我不應該使用--rebase
,然后呢? 還是應該使用git pull --rebase
從upstream/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.