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