私のオフィスでは 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 オリジン FEATURE_NUMBER
新しいオフィスに行く
git svn rebase
git checkout -B FEATURE_NUMBER
git pull origin FEATURE_NUMBER
ただし、それに関する問題は、競合のヒープが発生することです。Github では、最初に本社に移転して以来、チームが行ったすべての変更を元に戻したと考えているようです。基本的に、SVN サーバーからの新しいコミットよりも、GitHub の古いコミット (つまり、リベースの前から) を優先します。
うまく融合させる方法はありますか?