web-dev-qa-db-ja.com

ポッドファイルをバージョン管理システム(GITまたはSVN)にコミットする必要があります

これまでのところ、私はアプリに取り組んでいて、チームリーダーはポッドファイルをコミットしないと言って、彼の指示に従いました。

その後、リードが変更され、ポッドファイルをGitにコミットするように言われました。だから私はどちらに行くべきか混乱していた。

ポッドファイルをコミットする必要があるかどうか、そうしない場合はその理由。私もいくつかの記事を読みましたが、満足のいく答えが見つかりませんでしたので、このことを明確にしてください。

19
Sumeet Purohit

ワークフローはプロジェクトによって異なるため、Podsフォルダーをチェックインするかどうかはユーザー次第です。 Podsディレクトリをソース管理下に置くことはrecommendedです。

Podsディレクトリでのチェックの利点

  1. リポジトリのクローンを作成すると、CocoaPodsがマシンにインストールされていなくても、プロジェクトをすぐにビルドして実行できます。ポッドインストールを実行する必要はなく、インターネット接続も必要ありません。
  2. ポッドのソース(GitHubなど)がダウンした場合でも、ポッドアーティファクト(コード/ライブラリ)は常に利用可能です。
  3. Podアーティファクトは、レポジトリを複製した後の元のインストールのアーティファクトと同一であることが保証されています。

Podsディレクトリを無視する利点

  1. ソース管理レポはより小さくなり、スペースを取りません。
  2. すべてのPodのソース(GitHubなど)が利用可能である限り、CocoaPodsは通常同じインストールを再作成できます。 (技術的には、ポッドファイルでcommit SHAを使用しない場合、ポッドインストールの実行が同一のアーティファクトを取得して再作成するという保証はありません。これは、ポッドファイルでZipファイルを使用する場合に特に当てはまります。)

3.ソース管理操作を実行するときに、異なるPodバージョンでブランチをマージするなど、競合することはありません。

出典: ココアポッド

28
Imad Ali

Git/SVNリポジトリでpodsディレクトリ(Podを使用して統合されたサードパーティのソース)をコミットしないことをお勧めします。

ここにサンプルソースがあり、コミットするものとしないものを提案します。

enter image description here

  1. Podは依存関係マネージャーであり、非常に多くのサードパーティライブラリが含まれている場合があります。プロジェクトのソースはより大きく(サイズが大きく)なり、新しい宛先が使用するたびに同じものがダウンロードされます。
  2. 任意のソース/宛先からpod installコマンドを使用して、すべてのPodライブラリ/ファイルソースを簡単に統合できます。
  3. 異なるシステムには、異なるバージョンのSDK、コマンドラインツール、およびココアポッドが存在する場合があります。 SDKツールとコマンドラインバージョン、およびココアポッドバージョンでサポートされる統合固有のライブラリを自動的に処理します。

注:それは悪くありません。ソースコードを含むポッドファイルをGit/SVNにコミットします。ただし、コードに(サードパーティライブラリの)依存関係を追加するのもよくありません。これは、必要ではなく、異なる宛先(システム)でpodを使用して簡単に処理できます。

15
Krunal