私はチームでプロジェクトに取り組んでいます。彼らは 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 pullgit 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 コマンドがあることを知っていますが、私はそれを信頼していません - 私は上記がより安全であることを望んでいました (私には少し狂っているように見えますが.)
ありがとうございました!