私は個人的なプロジェクトにgitを使用していて、すばらしいと思います。高速、柔軟、強力で、リモート開発に最適です。
しかし、今では仕事で義務付けられており、率直に言って、私たちは問題を抱えています。
そのままでは、gitはさまざまな機能とgitの高度なレベルの開発者がいる大規模な(20人以上の開発者)組織での集中型開発にはうまく機能しないようです。特に、PerforceやSubversionなどの他のソース管理システムと比較すると、そのような環境を目指しています。(そうです、Linusがそのために意図したことはありません。)
しかし-政治的な理由から-gitでやろうとしていることがうまくいかなくても、gitで立ち往生しています。
ここに私たちが見ているもののいくつかがあります:
- GUIツールは成熟していない
- コマンドラインツールを使用すると、マージを台無しにして他の人の変更を抹消するのは簡単です
- グローバルな読み取り専用または読み取り/書き込み特権を超えて、ユーザーごとのリポジトリ権限を提供しません
- リポジトリの任意の部分に対する権限がある場合は、リポジトリのすべての部分に対して同じことを行うことができるため、中央サーバーに小さなグループのトラッキングブランチを作成するようなことはできません。手を出す。
- 「すべてがうまくいく」または「慈悲深い独裁者」以外のワークフローは、実施はもちろん、奨励するのが難しい
- 単一の大きなリポジトリー(誰もがすべてを混乱させることができる)を使用する方がよいのか、コンポーネントごとの多数のリポジトリー(バージョンを同期しようとする頭痛の種になる)を使用する方が良いのかは明らかではありません。
- 複数のリポジトリーがある場合、中央リポジトリーからプルして他の誰かが持っているすべてのソースを複製する方法や、昨日の午後4時30分の時点ですべてを取得する方法なども明確ではありません。
しかし、人々は大規模な開発組織でgitをうまく使用していると聞いています。
あなたがそのような状況にある場合-または、コマンドラインのファンではない大規模な組織でgitをより簡単かつより生産的にするためのツール、ヒント、およびトリックがある場合-私はあなたが持っているものを聞きたいです提案する。
ところで、私はすでにLinkedInでこの質問のバージョンを尋ねましたが、本当の答えはありませんでしたが、たくさんの「まあ、私もそれを知りたいです!」
更新:明確にしましょう...
私が働いている場所では、git以外は使用できません。それはオプションではありません。私たちはそれで立ち往生しています。mercurial、svn、bitkeeper、Visual Source Safe、ClearCase、PVCS、SCCS、RCS、bazaar、Darcs、monotone、Perforce、Fossil、AccuRev、CVS、または1987年に使用したAppleの優れたol 'Projectorは使用できません。したがって、他のオプションについて話し合うことは歓迎されますが、gitについて話し合わなければ、賞金を受け取ることはできません。
また、企業でのgitの使用方法に関する実用的なヒントも探しています。私たちが抱えている問題の完全なリストをこの質問の一番上に置きます。繰り返しになりますが、人々は理論について議論することができますが、賞金を獲得したい場合は、解決策を教えてください。
a process