1

私はgitを初めて使用し、個々のプロジェクトでブランチ/マージプロセスの大きなメリットを確認できますが、Gitのもう1つの便利なアプリケーションは、頻繁に使用するコアカスタムコードとテンプレートを一元化するために使用することです。すべてのプロジェクトで、各プロジェクトは独自のブランチとして開始されます。

たとえば、すべてのアプリで使用する出発点にすぎないカスタムコードの大規模なセットがあります。あちこちで微調整したり、バグを見つけて修正したりする場合は、コードを使用するすべてのプロジェクトに複製する必要があります。

マスターから離れた別のブランチで微調整を行い、マスターにマージしてから、マスターを別のプロジェクトを占める他のブランチとマージすることで、これを非常にうまく達成できるように思われます。

このGitへのアプローチに大きな欠点はありますか?

また、サブモジュールが存在することは知っていますが、Xcodeでネイティブにサポートされていないため、現時点では使用しないことをお勧めします。

4

1 に答える 1

1

いくつかのプロジェクトは、独自の条件で進行する傾向があります。同じブランチに全員が集まっている場合は、コミットが混在していることがわかり、識別できる履歴の感覚はありません。各プロジェクトを別々のブランチに配置する場合は、一方から他方にジャンプする必要があり、別々のgitリポジトリに対して利点はありません(gitは非常に軽量です!)。

DVCSはオーバーヘッドを追加します(同じ内容のリポジトリが複数ある場合は、確かにディスク容量が追加されますが、最近では安価です...)。それはあなたがどこでも自由に働くことができるという利点があります(遅い接続を待つ必要はありません)、そして(少なくともgitでは)操作は通常とても速いのであなたがそれに慣れるまであなたはあなたがいるというこの長引く恐れを持っていますだまされて何もされていない...

開発に関しては、分岐とマージが機能し、安価であるという事実は、実験と探索が奨励されることを意味します。コミットが瞬時に行われ、スペースをほとんど使用しないという事実は、「朝の価値のある作業」ダンプではなく、マイクロコミット(1つの論理的な変更、コミットごとの最小限のバグ修正またはタイプミス)につながります。これにより、履歴が理解しやすくなり、ツールなどがgit bisect非常に便利になります。

履歴を保存したいものを含むgitリポジトリがたくさんありますが、必ずしも他の人と共有する必要はありません。私がリモートリポジトリにも保持しているもののいくつかのより重要なもの(それ以上ではなくgitsshもう一方の端にあり、時々そこにプッシュするための少しの規律が必要です)。その意味で、私はgitをローカルVCSとして使用しています。これには、他のユーザーと共有できるという利点もあります;-)

于 2013-03-12T19:40:41.600 に答える