1

私のプロジェクトには Zend が含まれており、このライブラリには約 2.8k のファイルがあります。これは PHP フレームワークであるため、私のチームがこのフォルダーに触れる可能性は非常に低いです。

質問は、このフォルダーを gitignore する必要がありますが、このフレームワークをリポジトリに保持するにはどうすればよいですか? これは可能ですか?つまり、すべてのファイルにクローンを作成したいのZendですがclone、git にこれらのフォルダーをすべてスキャンさせたくありません。または、PC の状態によっては 3 秒以上かかります。statuscommit

  • サブモジュール?しかし、これはリモート リポジトリではありません。つまり、Zend 用のリモート リポジトリを作成する必要があります。
  • gitignore、add -fフレームワークを追加したようですが、すべてのファイルが追跡されます

フォルダーを無視する理由は、コミットの速度を上げるためです。これは私たちが使用する唯一のフレームワークではなく、他のフレームワークにも数千を超えるファイルがあり、Windows マシンでは耐えられないほど遅いです。

編集

以前に回答されたようで、唯一の方法はサブモジュールを使用することです:

update-indexそして、それはあなたの方法の1つのようです:

4

3 に答える 3

1

サブモジュールを使用します。github でホストして、リモート リポジトリにします。これで、チームが行う作業のみを含む、優れた軽量レポが作成されます。Zend を更新したい場合でも、それを行うことができますが、それが完了すると、日常生活に影響を与えることはありません。

于 2012-07-16T04:38:18.553 に答える
0

のように Zend ディレクトリにファイルを置き、.gitkeep.gitignore に以下を追加するとどうなるでしょうか。

# ignore everything in Zend
Zend/*
# except .gitkeep
!Zend/.gitkeep

これは、そのディレクトリ内のすべてを無視する効果がありますが、.gitkeep のためにディレクトリを保持します。

git が賢明なことを行い、他のファイルのディレクトリをスキャンしないとは 100% 確信が持てませんが、かなり期待しています。

于 2012-07-16T16:55:42.210 に答える
-1

--cached オプションを指定して git rm コマンドを使用します。これにより、git はフレームワークのすべてのトラックを破棄します。そのため、フレームワークをプロジェクト フォルダーに再度挿入し、.gitignore に追加します。私はあなたへの参照を探しています。

編集:

見つけました。ここを見てください。

于 2012-07-16T04:34:21.813 に答える