Git merge vs rebase with git svn

I am very confused, I read several posts, blogs and articles and don’t know where to go. I am using svn server repo which I am resetting with git svn and working. Currently, I am the only person who is developing this (i.e. No upstream changes).

So, I have a local git topic branch vacationthat I need to merge back into master for dcommit, but I don't want to crush all the commits into one big one.

I tried to make git rebase -i masterand it deleted 90% of my changes.

I do

git checkout master
git rebase vacation
git svn docmmit

Or a

git checkout vacation
git rebase master 
git checkout master 
git merge vacation --ff-only 
git svn docmmit?

I am so afraid of b / c what happened when I tried maybe someone, please briefly explain what I should do and why should I do it this way?

+5
2

, .

git checkout vacation
git rebase master 
[ masters 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 ]

, , .

+4

, rebase.

, . Rebase , , . , .

,

git checkout -b vacation
[make changes]
git commit -a -m "Commit message"
git checkout master
git merge vacation
git svn dcommit

rebase : , . , , . , , :

git svn rebase
git checkout work
git rebase master

git , . REcreates BASEd .

git merge master 

, , , . , , , .

+3

All Articles