0

私がしたこと

  • アプリケーションで「親」と呼ばれる新しいシングル ページ アプリ プロジェクトを作成しました。
  • 「子」と呼ばれる新しいスタティック ライブラリ プロジェクトを作成し、親プロジェクト フォルダに git サブモジュールとして追加しました。
  • ファインダーからサブモジュールディレクトリ、子プロジェクトファイルをXcodeウィンドウの親プロジェクトにドラッグして、子プロジェクトを親プロジェクトにインポートしました->親プロジェクトファイルツリー。

今は私の問題です

  • [ファイル] -> [ソース管理] -> [コミット] でコミットを実行したい場合、ファイルを選択してメッセージを入力し、コミットをすべて正しく実行します。

  • 今、子プロジェクトに変更を加えて同じ方法でコミットしようとすると、xcode はコミットが成功したことを知らせてくれます

  • ここで、[ファイル] -> [ソース管理] -> [プル] からプルを試みます。子プロジェクトは選択可能ですが、親プロジェクトには「コミットされていない変更」があります。

  • コミット インターフェイスに戻ると、前回のコミットでコミットされたはずの項目が表示されました。特に私のサブモジュールプロジェクトのフォルダー。

問題を解決するために私がしたこと

親プロジェクト フォルダーのコマンド ラインから git を使用します: git add 。git commit -am "コアが変更されました"

これを使用すると、プル インターフェイスからリポジトリにアクセスでき、すべての変更がコミットされたことを確認できます。

本当の問題

私の会社は、Xcode SCM ツールでのみ機能するようにしたいと考えています。問題は「サブモジュール」の使用に関連しているようです コマンドラインを使用せずに動作させるにはどうすればよいですか

4

2 に答える 2

2

同じ問題があります。XCodeの小さなバグのようなものです。現時点での回避策はあなたが述べたものと同じであり、唯一の解決策は、XCodeがサポートする方法のバグ修正または拡張です。

ワークフローは次のようになります。

-XCodeを使用してサブモジュールの変更をコミットします-XCodeを使用してメインの変更をコミットします-CLIを使用してメインディレクトリの変更をコミットします(git commit)-XCodeを使用してメインとサブモジュールをプッシュします

この小さなバグが将来XCodeで直接修正されることを願っています

于 2012-11-30T08:09:20.787 に答える
1

サブモジュールでコミットを行うと、親の変更として表示されます。

解決策は、最初にサブモジュールに変更を加えてから、変更を親にコミットすることです。このようにして、サブモジュールへのすべての変更が親プロジェクトのコミットにバンドルされます。

于 2012-09-20T15:37:18.113 に答える