我最近开始使用git-svn。我的git工作流程是这样的。
git checkout master
git svn rebase
git checkout -b topicbranch
..changes
git commit
git checkout master
git merge topicbranch
git svn rebase
git dcommit
问题在于,每当我确实提交时,在svn存储库中可以看到主题分支的唯一最终合并提交。我想看到svn提交对应于在topic分支中进行的各个git提交。
他们是否可以这样做。或者这是推荐的默认行为。
答案 0 :(得分:1)
(git rebase
没有其他参数是错误的,所以我怀疑你没有准确描述你在做什么。而且,你错过了svn
中的git svn dcommit
}。)
然而,在我看来,问题是您将topicbranch
合并到master
而没有首先重新定位它。这意味着如果这不是一个快进合并,那么在git历史中会添加一个合并提交,并且只能通过Subversion中的单个提交来表示。在您完成主题分支后,请尝试以下方法:
# make sure you're on the right branch first:
git checkout topicbranch
git rebase master
git checkout master
git merge topicbranch
git svn rebase
git svn dcommit