我现在正在使用带有以下工作流程的 git-svn
git clone <SVN TRUNK URL> #done once
随后当我处理一个功能时
git branch featureZ
git checkout featureZ
#make edits for featureZ
git commit
git checkout master
git svn rebase # fetch changes from server
git checkout featureZ #go back to branch
#git merge master
git rebase master #get the changes from SVN->master onto the branch now. Optional if I want the branch to be current. (EDITED: Got from the answer given below)
#make edits for featureZ
git commit #featureZ completed
git checkout master
git merge featureZ #getting featureZ onto master. Prepare to send to SVN
git svn dcommit #push featureZ back to SVN
现在,当我将功能 git 合并到 master 上时,需要注意一些要点,featureZ 分支中的所有单独提交都会合并为一个,这对我来说很好。
提交消息被替换为“与 featureZ 合并”。这可以通过merge fmt msg来解决。
现在我的问题是这个工作流程是否有任何问题或需要注意。我在git-svn 手册中读到使用git svn时不应该进行合并。我在工作流程中所做的是他们所指的吗?如果是这样会导致什么样的问题?一件事是我不想做一些与 SVN 主线混淆的事情。