1

私はフリーランサー プログラマーとしていくつかのクライアントのために働いており、自分用のアプリも作成しています。私が自分で仕事をするときは、明らかに一人で仕事をします。

今日の私の大きな問題は次のとおりです。

  1. 私が開発したのと同じクラスを使用するアプリがたくさんあります。
  2. 以前は、これらすべての共通クラスをすべてのプロジェクトの外のディレクトリに配置し、絶対パスを使用してアプリに含めていましたが、この方法は最悪です。なぜなら、偶然 (忘れた場合) パスまたはディスクを変更する可能性があり、すべてのプロジェクトが壊れた。それから、毎回それらのクラスを自分のプロジェクトにコピーすることにしました。これらのクラスの大部分は頻繁に変更されるわけではないので、比較的大丈夫ですが、変更されると地獄に落ちます。
  3. これらのクラスのいずれかを変更すると、それらのコピーを使用して他のすべてのアプリに変更を反映する必要があります。

私もフレームワークを作成しようとしましたが、Apple のおかげで、iOS 用のフレームワークを作成できず、ライブラリとバンドルを作成し、一方から他方へのパスの悪夢を作成し、その sh!t を機能させるプロジェクトを作成する必要があります。したがって、Xcode が適切な IDE になるまで、Xcode でフレームワーク/ライブラリを使用します。

そのため、ソース コードを管理するためにより良いものが必要であることがわかりました。

必要なのはこれです(XcodeでGITを使用したことはありません。Appleのドキュメントを読みましたが、これらのポイントはまだあります):

  1. Xcode でローカルに git を使用すると、アセットまたはコードだけを処理できますか?
  2. ローカルで git によって管理される「フレームワーク」(コード + アセット) に相当するものを使用できますか?
  3. xcodeproj 全体をまとめて管理できますか? つまり、xcodeproj を作成して、GIT で管理したいので、他のプロジェクトに含めることができるとします。
  4. git なしで作成されたプロジェクトで git を有効にし、ファイルを管理対象として指定するにはどうすればよいですか。(Xcode の設定で git を有効にしましたが、すべてのソース管理メニューがグレー表示されています)。
  5. 多数のファイル/アセットがプロジェクト内で GIT によって管理されているとします。他のプロジェクトで使用できますか?
  6. git は最良の選択肢ですか? 私は別のものを持っていますか?

私の主な条件は、ファイルがローカル コンピューター上にあることです。

助けてください(今日はちょっとドラマチックです)。

ありがとう。

4

1 に答える 1

3

git サブモジュールが必要なようです。これらは、あるリポジトリから別のリポジトリを参照します。また、他のリポジトリが変更された場合は、簡単に更新できます。

ここでは、フレームワークやライブラリを気にしません。アプリに共有コードを参照するサブモジュールがあれば、Xcode はそのソース コードをオンザフライでコンパイルできます。

具体的な質問に答えるには:

Xcode でローカルに git を使用すると、アセットまたはコードだけを処理できますか?

Git はバイナリ アセットとテキスト (コード) ファイルを保存します。

ローカルで git によって管理される「フレームワーク」(コード + アセット) に相当するものを使用できますか?

うん。共有コードを独自のリポジトリに配置し、この共有コードを使用する各プロジェクトでこのリポジトリを指すサブモジュールを作成します。

xcodeproj 全体をまとめて管理できますか? つまり、xcodeproj を作成して、GIT で管理したいので、他のプロジェクトに含めることができるとします。

ここで何を意味するのかわからない。しかし、私はプロジェクト ファイルではなく、ソース ファイルだけを気にします。

git なしで作成されたプロジェクトで git を有効にし、ファイルを管理対象として指定するにはどうすればよいですか。(Xcode の設定で git を有効にしましたが、すべてのソース管理メニューがグレー表示されています)。

XCode ソース管理ツールの使用はお勧めしません。コマンド ライン インターフェイスを学習するか、 GitHub mac アプリを使用するか、Git Towerなどを使用してください。ソースの状態を Xcode の外部で管理し、Xcode の得意分野であるコードの記述とコンパイルに任せます。

多数のファイル/アセットがプロジェクト内で GIT によって管理されているとします。他のプロジェクトで使用できますか?

サブモジュールに関する上記のリンクを参照してください。これにより、あるリポジトリに別のリポジトリを含めることができます。

git は最良の選択肢ですか? 私は別のものを持っていますか?

Git はこれに最適です。リポジトリは、自分のコンピューターだけに置くことも、必要に応じてリモート サーバーに置くこともできます。また、ディスク パスまたはリモート URL のいずれかによって相互に参照できます。

Git は、あなたが説明したすべてのことを実行できます。Xcode の Git インターフェイスの使用を避けたい場合があります。しかし、私は、ソース管理を管理する IDE を信頼していないただのおならかもしれません。

于 2013-10-20T10:19:00.757 に答える