我的版本管理系统是SVN,但我使用git进行所有的开发。我们有一个标准布局,我用git svn init -s <url to repo>
初始化了本地repo。
以下是我的分支工作流程:
# creates a new branch remotely
git svn branch new-branch-name
# switches to a branch or trunk locally
git reset --hard name-of-branch
git reset --hard trunk
# merge changes from trunk into a branch
git reset —hard name-of-branch
git merge trunk
git svn dcommit
上述最后一个命令将提交更改到分支 name-of-branch。我的问题是,Git 是怎么知道的?当我执行 git reset --hard foo
时,具体会发生什么?
这可能只是关于 Git 的一般问题。每次我试图研究答案时,我都会对 svn 集成是否特殊情况感到困惑。
git checkout my-branch; git rebase trunk; git svn dcommit;
- cdhowiemy-branch
视为本地主题分支,您在其中进行了开发,并将trunk
视为远程 svn 主干引用的名称。 - cdhowie