我很困惑,我已经阅读了几篇帖子、博客和文章,但不知道该去哪里。我正在使用一个 svn 服务器 repo,我用 git svn pull 下来并继续工作。我目前是唯一开发此功能的人(即没有上游更改)。
所以我有一个本地 git 主题分支 vacation
,我需要将其 merge 回 master 以进行 dcommit,但我不想将所有提交压缩成一个大提交。
我尝试执行 git rebase -i master
并且它删除了我 90% 的更改。
我做一个
git checkout master
git rebase vacation
git svn docmmit
或者一个
git checkout vacation
git rebase master
git checkout master
git merge vacation --ff-only
git svn docmmit?
我害怕那种方式 b/c 我以前尝试时发生的事情 有人可以简要解释一下我应该做什么以及为什么我必须那样做吗?
最佳答案
所以我想我明白了。
git checkout vacation
git rebase master
[ masters's chages put behind this branches, replay every commit ]
git checkout master
git merge --ff-only vacation
git svn dcommit
[ each change goes into svn as seperate commit ]
我没有上游更改,但这正是我想要的。
关于svn - git merge vs rebase 使用 git svn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6457490/