我使用的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