在我的办公室,我们正在过渡到 Git,目前我正在使用 Git-SVN 执行以下工作流程:
git svn rebase
git checkout -B FEATURE_NUMBER
做工作,同时在本地提交
git checkout master
git svn rebase
git merge --squash FEATURE_NUMBER
修复任何冲突,运行测试等
git commit -a -m "Actual Commit Message for everyone else"
git svn dcommit
这很好用,但我也在办公室之间旅行并使用不同的计算机,所以如果我还没有完成,我一直在使用私人 GitHub 存储库来推动我的分支。
其工作流程是:
git svn rebase
git checkout -B FEATURE_NUMBER
做工作,同时在本地提交
现在我想搬办公室
git push origin FEATURE_NUMBER
去新办公室
git svn rebase
git checkout -B FEATURE_NUMBER
git pull origin FEATURE_NUMBER
但是,这样做的问题是会发生大量冲突。似乎在想,在 Github 上,自从我最初在总部重新定位以来,我的团队所做的所有更改都已撤消。基本上,它优先考虑 GitHub 上的旧提交(即,在变基之前),而不是来自 SVN 服务器的新提交。
有什么方法可以让它很好地合并吗?