私はチームでプロジェクトに取り組んでいます。彼らは SVN を使用していますが、私は git を好みます。単純に SVN を上手に使えばもっと簡単にこれを行うことができますが、生活を複雑にして Git を使用したいと考えています。
これが彼らのセットアップです:
~/www(svn)
| \
trunk(svn) mybranch(svn)
私はを頂きたい
/srv/git/www
ブランチのトランクと mybranch を使用
トランク ブランチの while 内で git pull を実行するとき/srv/git/www
、スクリプトが svn update on~/www/trunk
を実行し、任意の svn コミットで git ブランチを更新するのが好きです (git 履歴とコミット メッセージが svn とコミット メッセージと一致するように)
git pull
git mybranch ブランチでも同じ動作をします
私のワークフローは次のようになります
git checkout trunk
git pull
git checkout mybranch
git rebase trunk
いくつかの作業を行います
(トランクを引っ張ってから更新されていない場合):
git commit
git push
git checkout trunk
git merge mybranch
git push
コードがこれらのブランチのいずれかにプッシュされるたびに、git フックが svn commit をトリガーするようになれば幸いです。
アドバイスをお願いします。最初は SVN だけを使ってみましたが、ロックがかかってしまい、マージが悪くなるたびに再チェックアウトする必要があり、SVN に非常に悩まされていました。
これを行うためのより良いモデルがある場合は、教えてください。それ以外の場合は、git を使用してそれを行う方法を教えていただければ幸いです。私は git svn コマンドがあることを知っていますが、私はそれを信頼していません - 私は上記がより安全であることを望んでいました (私には少し狂っているように見えますが.)
ありがとうございました!