[解決済み] .gitignore で無視される特定のファイルを表示する Git コマンド
質問
Git を使い始めたところですが、次のような問題があります。
私のプロジェクトのソースツリーです。
/
|
+--src/
+----refs/
+----...
|
+--vendor/
+----...
私のベンダーブランチにコード(現在はMEF)があり、そこでコンパイルしてから、参照を
/src/refs
プロジェクトがそれらを拾い上げる場所です。
私の問題は、私の
.gitignore
を無視するように設定されています。
*.dll
と
*.pdb
. をすることができるんです。
git add -f bar.dll
で、無視されるファイルを強制的に追加するのはいいのですが、問題は、無視されるファイルがどのように存在するかをリストアップする方法がわからないことなのです。
無視されるファイルをリストアップして、追加し忘れがないようにしたいのですが。
のマニュアルページを読みました。
git ls-files
が、うまく動作させることができません。どうやら
git ls-files --exclude-standard -i
は、私が望むことを行う必要があります。 何が足りないのでしょうか?
解決方法は?
注意事項
-
xiaobai
's
答え
の方がシンプルです(git1.7.6+)。
git status --ignored
(" に詳述されています。 の影響を無視するように git-status に指示する方法はありますか?.gitignore
ファイルですか? ") -
MattDiPasquale
's
回答
(アップブートされる)
git clean -ndX
は古いgitsで動作し プレビュー 無視されたファイルを (何も削除することなく) 削除することができます。
また、興味深いことに(
qwertymk
's
答え
) を使用することもできます。
git check-ignore -v
コマンドは、少なくとも Unix では (
は動作しません
CMDで
ウィンドウズ
セッション)
git check-ignore *
git check-ignore -v *
2つ目は、実際のルールが表示される
.gitignore
これは、git リポジトリで無視されるファイルを作成するものです。
Unixの場合、"を使用します。
カレントディレクトリのすべてのファイルに再帰的に展開するものは?
"とbash4+です。
git check-ignore **/*
(または
find -exec
コマンド)
注 https://stackoverflow.com/users/351947/Rafi B. を提案します。 コメント欄 になります。 グロブスターを避ける :
git check-ignore -v $(find . -type f -print)
のファイルを必ず除外してください。
.git/
のサブフォルダがあります。
CervEd
で提案しています。
コメント
を避けるために
.git/
:
find . -not -path './.git/*' | git check-ignore --stdin
オリジナルの回答 42009)
git ls-files -i
は動作するはずですが そのソースコード は示す。
if (show_ignored && !exc_given) {
fprintf(stderr, "%s: --ignored needs some exclude pattern\n",
argv[0]);
exc_given
?
の後にもう1つパラメータが必要なことがわかりました。
-i
を使えば、実際に何かをリストアップすることができます。
試してみてください。
git ls-files -i --exclude-from=[Path_To_Your_Global].gitignore
(ただし、これではあなたの キャッシュ (無視されない) オブジェクトにフィルタをかけています。)
例
$ cat .git/ignore
# ignore objects and archives, anywhere in the tree.
*.[oa]
$ cat Documentation/.gitignore
# ignore generated html files,
*.html
# except foo.html which is maintained by hand
!foo.html
$ git ls-files --ignored \
--exclude='Documentation/*.[0-9]' \
--exclude-from=.git/ignore \
--exclude-per-directory=.gitignore
実は、私の「gitignore」ファイル(「exclude」と呼ばれる)の中に、あなたの助けになるようなコマンドラインがあるんです。
F:\prog\git\test\.git\info>type exclude
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
それで......。
git ls-files --ignored --exclude-from=.git/info/exclude
git ls-files -i --exclude-from=.git/info/exclude
git ls-files --others --ignored --exclude-standard
git ls-files -o -i --exclude-standard
を実行する必要があります。
(ありがとうございます
ホンザイデ
ご指摘
コメントで
その
git ls-files -o -i --exclude-from...
が行う
ではなく
キャッシュされたファイルをインクルードする: のみ
git ls-files -i --exclude-from...
(
なし
-o
)が行います)。
で述べたように
ls-files のマニュアルページ
,
--others
は重要な部分で、キャッシュされていない、コミットされていない、通常は無視されるファイルを表示するためです。
--exclude_standard
は、単なるショートカットではなく、その中に
すべて
標準の "ignored patterns" の設定です。
exclude-standard
gitの標準的な除外項目を追加します。
.git/info/exclude
,
.gitignore
を各ディレクトリに配置し
user's global exclusion file
.
関連
-
[解決済み] git が「Pull is not possible because you have unmerged files」と表示するのはなぜですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] Git にファイルモード (chmod) の変更を無視させるには?
-
[解決済み] ステージングされた変更を表示するにはどうしたらいいですか?
-
[解決済み] .gitignoreで一部のファイル以外を無視するようにする
-
[解決済み] Gitでファイルの変更を追跡しない、無視する方法とは?
-
[解決済み] .gitignoreはGitによって無視されます。
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
最新
-
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 サブモジュール head 'reference is not a tree' エラー
-
[解決済み】GitHubのメッセージの意味: メールのプライバシー制限のためプッシュが拒否されました。
-
[解決済み】gitが「変更をコミットするか、マージする前にstashしてください」と言うのを解決するには?
-
[解決済み】GitHubで空のブランチを作成する
-
[解決済み] git: fatal: リモートリポジトリから読み取れませんでした。
-
[解決済み] GitのFETCH_HEADとはどういう意味ですか?
-
[解決済み] GitHubです。パーミッションが拒否されました (公開鍵)。
-
[解決済み] リモートブランチにプッシュできない、ブランチに解決できない
-
[解決済み] Gitのプッシュエラーです。Unable to unlink old (Permission denied)です。