[解決済み] Git はサブディレクトリ内の特定のファイルを無視するが、すべてを無視しない
質問
以下のような構造になっています。
/root/
/root/data/
/root/data/script.php
/root/data/some.json
/root/data/feature/one.json
/root/data/feature/two.json
/root/data/other-feature/one.json
/root/data/other-feature/important-script.php
gitに無視させたい
任意の
.json
のファイルは '/data/...' パスの下にありますが、 '/data/' はサブディレクトリを含むことがあります。
私の理解では、単純な
data/*.json
は一つのディレクトリにしかマッチしないということです。
*
にはマッチしないので
/
に記載されているように
http://git-scm.com/docs/gitignore
の箇条書き6に記載されています。
そうでない場合、git はパターンを FNM_PATHNAME フラグを指定した fnmatch(3) で使用するのに適したシェルグロブとして扱います:パターン内のワイルドカードはパス名の / にはマッチしません。例えば、 "Documentation/*.html" は "Documentation/git.html" にマッチしますが、 "Documentation/ppc/ppc.html" や "tools/perf/Documentation/perf.html" にはマッチしないのです。
これを行う簡単な方法はありますか、それとも積極的に各サブディレクトリに gitignore ファイルを明示的に追加する必要がありますか。
どのように解決するのですか?
この問題については、最近、記事を書きました。参照 をご覧ください。 .
基本的に、あなたが必要とするのは、1つの
.gitignore
と
*.json
の中に
/data/
ディレクトリの中にあります。
UPD
: gitから
1.8.4
(
1.8.2
のような二重星型パターンを使用することができます。
/data/**/*.json
関連
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] Git ですべてのリモートブランチをクローンする方法
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] コミットに含まれるすべてのファイルを一覧表示するにはどうすればよいですか?
-
[解決済み] Git にファイルモード (chmod) の変更を無視させるには?
-
[解決済み] .gitignoreで一部のファイル以外を無視するようにする
-
[解決済み] ローカルにあるファイルを無視するようにgitを設定するにはどうすればよいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] GitHubのウェブサイト上でディレクトリやフォルダの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解決策 このリポジトリでは、別の git プロセスが実行されているようです。たとえば、「git commit」によって開かれたエディタなどです。
-
gpg: "xxx" をスキップ: 秘密鍵のための1つの解決策が利用できない
-
Git がエラーを報告しました。現在のブランチの先端が遅れているため、更新が拒否されました。
-
Git学習まとめ(2)コミットには何も追加されていないが、未追跡のファイルは存在する
-
gitの利用(ssh鍵の作成とgithubの利用)。
-
[解決済み】gitignoreでディレクトリ内の拡張子を持つファイルを全て削除する。
-
[解決済み] Gitブランチの名前をローカルとリモートで変更できますか?重複
-
[解決済み] Git のリモート HEAD を master 以外に指定するように変更する
-
[解決済み] Git git reset」後にコミットメッセージを再利用/保持するには?
-
[解決済み] Git の 'master' ブランチを 'release' にリネームするには?