我使用的git - svn的有以下工作流程现在混帐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
现在的一些注意点,当我做功能合并到master,featureZ分支中的所有单独提交合并为一个对我来说很好。
提交消息被替换为“与featureZ合并”。这可以通过merge fmt msg修复。
现在我的问题是 有没有什么可以出错的工作流程或需要照顾。我在git-svn manual中读到,在使用git svn时不应该完成合并。我在工作流中所做的是他们所指的是什么?如果是的话,会造成什么样的问题?有一件事是我不想做一些与SVN主线混淆的东西。
顺便说一句,你可以使用`git checkout -b`而不是`git branch ..; git checkout`。另外,`checkout`命令使用`co`别名是很常见的。 – jfs 2010-11-27 12:12:47