我正在使用 git-svn;我通常创建一个主题分支,对其进行提交,然后是 checkout master、git svn rebase、git merge --squash topic_branch、git commit -m "summary comment",然后是 git svn dcommit。
这很好用,但 git 似乎不知道我将分支更改合并到 master 中。我在没有涉及 svn 的情况下尝试了这个:
# Make a repository, add a couple files
$ mkdir gittest
$ cd gittest
$ git init
$ touch foo bar
$ git add .
$ git commit -m "initial version"
# Make a branch, change a file, commit.
$ git checkout -b a_branch
$ vi foo # make a change
$ git commit -am "a change"
# Merge changes into master
$ git checkout master
$ git merge --squash a_branch
$ git commit -m "merged a_branch"
并且 gitk --all 显示了这一点,这表明这不是 git-svn 问题:
在我的主要 (git-svn) 项目中,我看到早期的一些更改似乎已经被合并,但我不知道我现在在做什么不同,因为我当时没有这样做。(如果重要的话,这是 Ubuntu Jaunty 上的 git 1.6.0.4。)