git merge vs rebase using git svn

loo*_*non 5 svn git workflow git-svn branching-and-merging

我很困惑,我已经阅读了几篇帖子,博客和文章,不知道去哪里.我正在使用一个svn服务器repo,我用git svn下拉并继续工作.我目前是唯一一个开发此项目的人(即没有上游变更).

所以我有一个本地的git主题分支vacation,我需要合并回master到dcommit,但我不想将所有提交压缩成一个大的.

我试着做一个git rebase -i master,它删除了我90%的变化.

我做了吗

git checkout master
git rebase vacation
git svn docmmit
Run Code Online (Sandbox Code Playgroud)

或者a

git checkout vacation
git rebase master 
git checkout master 
git merge vacation --ff-only 
git svn docmmit?
Run Code Online (Sandbox Code Playgroud)

我害怕那样b/c我以前尝试过的事情可以请一些人简单解释我应该做什么以及为什么我必须这样做?

loo*_*non 4

所以我想我明白了。

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 ]
Run Code Online (Sandbox Code Playgroud)

我没有对上游进行任何更改,但这正是我想要的。