[更新]
更多细节请参考:我为什么在家里尝试使用纯Git的原因是,我的公司想要转向Git,但经理不愿意做出改变,因为开发人员不熟悉我们自己存储库中的Git。所以,我尝试让每个人在学习阶段都使用纯Git,而有人可以在此期间合并回Subversion。因此,在任何紧急情况下,他们仍然可以使用Subversion。
因此,在每个人熟悉Git之前,我无法将存储库转移到使用纯Git。因此,它将同时更新Subversion和Git。(目前主存储库是Subversion)。因此,在我通过dcommit回到Subversion进行同步存储库的过程中,我试图使Git能够平稳工作。
[问题]
我所在的组织使用Subversion作为存储库,因此我将其导出为我的个人Git(并计划在未来使用Git替换Subversion)
现在,我有一个同时使用Git和Subversion(主源)的存储库。当我必须同时使用git和subversion时,我遇到了处理git svn rebase的问题。
我的工作流程如下:
在办公室
- 存储库具有Git-svn接口
- 我总是使用git svn dcommit将代码提交到Subversion。
- 我将其推送到Bitbucket上的我的远程git存储库
在家里
- 我从Bitbucket克隆存储库
- 使用并提交到Bitbucket
现在,回到办公室
- git pull
- git svn rebase
- git svn dcommit
- git push
在步骤4中,我遇到了一个问题,因为我已经rebase了我的分支。
现在的问题在于,当我回到家时
当我回到家时,我无法使用'git fetch',因为该分支已经被rebase。所以,我必须使用git branch -D .....删除分支,然后再次git checkout。
因此,我正在寻找一种方法,可以同时使用Git存储库和Subversion,并且在使用git svn rebase或git svn dcommit操作后,可以很好地使用Git。
注意。我不希望在家中使用任何git-svn。尽量向前迈进,只使用Git。
pull --rebase
命令时,它会尝试将你的提交变基到远程分支的当前最新提交。所以是的,它可以工作。 - Colin Hebert