After you’re done making changes locally…
Get changes from Subversion
git svn fetch git svn rebase
Combine changesets using interactive rebase
git log --oneline git rebase -i last_good_commit
This opens up your editor with a file listing all the available commits to rebase.
- Find changesets where you started a bigger task.
rewordfor these changesets.
- For changesets below each of these, change
squash. These changesets will get folded into the previous commit.
- Save the file to continue the process.
For each commit that you specified to
reword, git will open your editor to allow you to change the commit message. Once you save and quit, you’ll get another editor that let’s you specify the commit message for all of the changes you are squashing. Thinking about it now, I can probably keep the commits that I changed to
pick, since this is redundant.
Push changes back to Subversion
git svn dcommit