2011-11-18 6 views
2

現在SubversionからGitに移行中です。 Subversionでは、私たちはこの厄介な悪夢を抱えていましたが、何かを見つけたり、どのブランチを同期させるかは全く分かりませんでした。基本的には、新しいバージョンのアプリケーションをプロダクションサーバーにプッシュするたびに、誰かが新しいブランチを作成しました。したがって、そのビルドのすべてのビットを含む1457というブランチがあります。その後、ビルドが完了した後、1458という新しいブランチを作成し、そこにチェックインを開始します。そのビルドが準備できたら、すべてをコピーしてプロダクションに戻します。時には、不思議なサブリリースがあり、1457_Bのようなブランチや何かがあります。それは完全に混乱してしまった。Gitを使って複数のWebサイトを管理するベストプラクティスとは何でしょうか?

彼らはGitでもこのシステムを使い続けたいと思うようです。バージョンをリリースするたびに「ブランチを切り替える」ことは迷惑なことだと思います。より現実的なアプローチは、現在稼働中のものと同期する「メインリポジトリ」を用意し、数日おきに増分変更できる単一の「開発」ブランチを持つことです。次に、ビルドを展開する準備ができたら、開発ブランチをメインにマージして、それを良いものと呼んでください。

私は彼らの議論は、特定のビルドのビットを時間内に見ることができるようにすることだと思っています。これは実際にこれを行う必要がないからです。 Gitでは、ある特定のチェックポイントに存在していたリポジトリをすばやく見ることができるように、ある時点を「ラベル付け」するためのより良い方法がありますか?各ビルドのブランチを作成することは、私に過労のようです。私はこれらの質問が曖昧であることを知っています、主に私は確かにこのワークフローの推奨されるベストプラクティスを探しています。

+1

http://nvie.com/posts/a-successful-git-branching-model/ – TheBuzzSaw

+0

ありがとう、この投稿は非常に便利です!はい、Gitの「タグ付け」メカニズムが私が探しているものです。 –

答えて

3

gitタグを調べることを強くおすすめします。ブランチを使用することは、その行でさらなる開発が行われることを意味します。しかし、彼らがやりたいことがリリースをマークするだけなら、 "プロダクション"ブランチを持ち、単にリリースにタグを付けるだけです。今では、複数の同時リリースを希望する場合、ブランチが実際に便利になるかもしれません。

1

Gitは、コミットへのポインタ、または署名付きの本物のオブジェクト、作成者、明らかにコミットへの参照をサポートしています。

したがって、リリースごとに、特定の時点を表すタグがあります。

リリースごとに1つのブランチを持つのとは異なり、メインブランチと開発ブランチを使用するというアプローチは、通常のアプローチです。そのようなブランチは、古いバージョン(例えばバグ修正)を維持する場合にのみ作用するが、むしろウェブサイトではなくアプリケーションのコンテキストに適用される。

関連する問題