質問
Gitを使用している大規模な分散チームのビデオを見てきましたが、分散しておらず、他のチームと一緒にオフィスで働いている私たちはどうですか?リポジトリとワークフローをどのように構成すべきですか?
SubversionまたはCVSを単一の権限ポイントとして使用している従来のオフィスについて考えてください。確かにこれらのチームはそれぞれ独自のGitリポジトリを維持し、必要に応じて相互にプッシュ/プルすることができます。これは多くの状況で悪夢にすぐに変わります。または、それぞれ独自のリポジトリを維持し、<!> quot; master <!> quotとして知られる単一のリポジトリと同期することもできます。チームのために。または、DVCSが開く可能性とワークフローの組み合わせがあります。
チームの仕組みは?便利なワークフローは何ですか?
解決
Yahoo!の方法が好きユーザーインターフェイス(YUI)チームが機能しているようです。私はYahooにもそのチームにも所属していませんが、彼らのgitコミットログは彼らのプロセスについて多くを明らかにしています。
YUIチームは、チームの全員がコミットアクセスを持つ中央リポジトリを維持しています。定期的にこのリポジトリにコミットした後(毎回のプッシュの後かもしれませんが、そうは思わない)、ビルドシステムが起動し、YUIを再構築し、新しくタグ付けされたコミットをgithubにプッシュします。そこで、コミュニティはコードをフォークして作業できます。
<!> quot; official <!> quot;を表す中央リポジトリに賛成です。プロジェクトのステータス。確かに、同僚とコードを共有したい場合、同僚からブランチを引き出すように手配することができ、そのように協力することができます。
<!> quot; master <!> quot;リポジトリには、「マスター」リポジトリでプッシュ/プルトリガーを構成してユニットテストを起動し、システムを構築できるため、継続的な統合の容易さなど、他の利点もあります。また、リポジトリの最新の「既知の良好な」バージョンがどこにあるかを全員が確実に把握できるため、プロジェクトを構築、公開、またはテストする必要がある場合、「マスター」リポジトリがその準備ができていることを合理的に保証できます。
Gitは、考えられるほぼすべてのワークフローをサポートしますが、小さなチームであっても、「公式」リポジトリがどこにあるのかについて質問したくありません。特にリリースに近づくと、メンテナンスの悪夢につながる可能性があり、不快です。
他のヒント
素敵なブログ http://nvie.com/git-model とコメントをご覧ください
githubチームが使用するワークフローを見てください:
http://scottchacon.com/2011/08/31/github- flow.html
githubを使用する必要がありますが、非常に簡単でクリーンです。