git分支显示差异,但merge什么也不做

git分支显示差异,但merge什么也不做,git,merge,branch,git-svn,Git,Merge,Branch,Git Svn,我有两个分支,“svnbranch”通过“git-svn-rebase”和“master”进行更新,这两个分支由其他推动其更改的git用户使用 现在,当我执行“git diff master”时,我看到master中的一些更改,我希望将它们合并到svnbranch中,以便“dcommit”它们。但是,当我执行“git merge master”时,什么都不会发生: git签出svnbranch git差异主机 。。。显示了一些更改 git合并主机 已经更新 为什么不合并这些更改 [注意:我真正想

我有两个分支,“svnbranch”通过“git-svn-rebase”和“master”进行更新,这两个分支由其他推动其更改的git用户使用

现在,当我执行“git diff master”时,我看到master中的一些更改,我希望将它们合并到svnbranch中,以便“dcommit”它们。但是,当我执行“git merge master”时,什么都不会发生:

git签出svnbranch

git差异主机

。。。显示了一些更改

git合并主机

已经更新

为什么不合并这些更改

[注意:我真正想做的是生成一个git回购,它是我们SVN回购的镜像,并手动合并两种方式的更改。我尝试了自动化,但无法顺利运行,所以我每隔几天手动合并一次]

然后将项目视为SVNGit镜像(git和SVN都是可写的,并且不断保持同步)。只需一个命令即可完成安装:

$ subgit install path/to/svn/repo
或分2-3步进行,以更精确地控制翻译选项

$ subgit configure path/to/svn/repo
$ #edit path/to/svn/repo/conf/subgit.conf and path/to/svn/repo/conf/authors.txt
$ subgit install path/to/svn/repo

而且您永远不需要手动合并SVN和Git。

Git SVN dcommit
是个坏主意,因为它将重写所有提交对象,并将它们逐个提交到SVN服务器,从而有效地删除以前的作者信息。之后,它将再次从SVN服务器获取更改集,并重写Git对象以匹配它们(并在提交消息中包含SVN的修订id)。有没有比dcommit更好的方法将更改发送回SVN?我一直在想,也许我应该使用实际的svn提交来推动更改,但我担心我只会对dcommit进行糟糕的重写。不幸的是,没有,svn服务器提供的唯一外部接口是svn接口本身,因此Git受到其限制。谢谢,这看起来很有趣,但从头版看,似乎我必须完全控制我的SVN服务器,而我没有。