Gitsのサブモジュール機能を使用して、サードパーティのコードをプロジェクトに組み込もうとしています。私はサブモジュールからいくつかのファイルしか必要とせず、それに付属のすべてのドキュメントなどを除外したいと考えています。Gitサブモジュール - 特定のファイル/ディレクトリを除外します
どうすればいいですか?
Gitsのサブモジュール機能を使用して、サードパーティのコードをプロジェクトに組み込もうとしています。私はサブモジュールからいくつかのファイルしか必要とせず、それに付属のすべてのドキュメントなどを除外したいと考えています。Gitサブモジュール - 特定のファイル/ディレクトリを除外します
どうすればいいですか?
gitサブモジュールは、別のgitリポジトリに埋め込まれたgitリポジトリです。それ以外には何も特別なことはありません。サブモジュールは他のgitリポジトリと同じように動作します。リポジトリに関連するすべてのファイルとすべての履歴は、そのファイルを複製するときに取得されます。
いくつかのファイルが必要なだけで、サードパーティプロジェクトの変更履歴を追跡することに興味がない場合は、特定のファイルをプロジェクトにコピーして、それを完了してください。
サブモジュールで/examples
フォルダを削除しましたこれらのファイルが自動生成されたメイクファイルによって表示されないようにします。 origin
は、削除に気づかずにいなければなりませんでした。 GitのCLIで
:
git update-index --assume-unchanged <path/to/file>
再びローカルでの変更を追跡するために:
git update-index --no-assume-unchanged <path/to/file>
あるいはSourceTreeでは、Fabian Blechschmidt's answerごとにカスタムアクションを作成します。あなたが望んでいないものを -
NOTEこれはorigin
が実際にもコミット上のファイルの追跡を停止する場所、「トラッキングを停止」と同じないです。
ありがとうございます。残念ながら、私はまだ変更を追跡し、必要に応じてサブモジュールをプッシュ/プルしたい(サードパーティのライブラリは私のものです) – hamishtaplin
私はこれを感謝します。私は同様の問題を抱えていました - 私はサブモジュールのライブラリを開発しており、各モジュールは単体テストのための余分なコードを持っています。実際には.mと.hファイルしか必要としません。私は残すことができる)。 –