画像ファイルと他のいくつかのファイルを無視しているgitリポジトリがありますが、私の.gitignore
ファイルは、config.php
ファイル。私が見つけることができないように見えるグローバルな無視ファイルがどこかにありますか?今すぐ追加するファイルを指定する必要があり、この警告が表示されます。
次のパスは、.gitignoreファイルの1つによって無視されます。
私の~/.gitconfig
ファイルは私のメールアドレスのみです。
git check-ignore
__git check-ignore
_ command を使用して、gitignoreファイルをデバッグします(ファイルを除外します)。
例えば:
_$ git check-ignore -v config.php
.gitignore:2:src config.php
_
上記の出力は、指定された各パス名(行を含む)の一致パターン(存在する場合)に関する詳細です。
したがって、ファイル拡張子は無視されず、ディレクトリ全体が無視される可能性があります。
返される形式は次のとおりです。
_<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>
_
または、次のコマンドを使用して、ユーザーHOMEおよびリポジトリフォルダー内の_.gitignore
_を印刷します。
cat ~/.gitignore "$(git rev-parse --show-toplevel)"/.gitignore "$(git rev-parse --show-toplevel)"/.git/info/exclude
または、_git add -f
_を使用して、そうでなければ無視されるファイルを追加できます。
詳細については、_man gitignore
_、_man git-check-ignore
_を参照してください。
git check-ignore [options] pathname…
git check-ignore [オプション] --stdin
Git構成にcore.excludesfileを含めることができることを知っておくといいかもしれません。core.excludesfileは、無視される追加のパターンを持つファイルへのパスです。 (問題のあるgitリポジトリで)を実行すると、このような構成があるかどうかを確認できます。
git config core.excludesfile
ファイルパスを出力する場合は、そのファイルの内容で詳細を確認してください。
私の場合、古いバージョンの boxen を使用してgitをインストールしましたが、パターン 'Icon?'は無視されました。私の場合、この質問で言及されている、フォルダアイコンに関する警告が表示されました(Icon?がアイコンと一致する理由は、大文字と小文字が区別されないファイルシステムです)。
これらを確認してください:
他の.gitignoreファイルを探したことがあります。多くのファイルがあるためです。
また、REPO/.git/configを調べて、何かあるかどうかを確認します。
リポジトリの除外ローカルのリポジトリごとのルールは、リポジトリの.git/info/excludeファイルに追加できます。これらのルールはリポジトリでコミットされないため、他のユーザーと共有されません。この方法は、エディターが作成したファイルのように、他のユーザーが生成するとは思わない、ローカルで生成されたファイルに使用できます。
私は同じ問題を抱えていました-このエラーでgitがディレクトリを無視していました:
➭ git add app/views/admin/tags/
The following paths are ignored by one of your .gitignore files:
app/views/admin/tags
Use -f if you really want to add them.
fatal: no files added
私の問題は私の~/.gitignore_global
:
TAGS
パスに一致していたapp/views/admin/tags
。グローバルgitignoreファイルに先頭のスラッシュを追加して修正しました
/TAGS
gitは再びディレクトリの追跡を開始しました。
私の場合、誤って〜/ .gitignore_globalファイルにワイルドカードが含まれていました。たぶんそこをチェックしますか?
もう1つ試してみてください。プロジェクトディレクトリAの下にネストされた.git
リポジトリを持つディレクトリBがありました(サブモジュールとしてではありません)。 Bにいくつかの変更を加え、それを真のサブモジュールにしたいと考えました。 git Aには独自のリポジトリが含まれていたため、git Aは自動的にBを無視していたと思います( サブモジュールなしのネストされたgitリポジトリ? を参照)。 Bフォルダの名前を変更し、サブモジュールとして再度クローンを作成しようとすると、誤解を招く「.gitignoreによって無視されました」というエラーメッセージが表示されました。解決策は、Bから.git
を削除することでした。
私はあなたとまったく同じ問題を抱えていました。あなたが受け取った唯一の返信にはチェックすべき場所がいくつかリストされていますが、それらのどれも私のために問題を解決しませんでした。ディレクトリツリーの下に隠れている他の.gitignoreファイルはありませんでした。 .git/configには何もありません。 .git/ingore/excludeには何もない
それでも問題が解決しない場合は、 this answer を確認してください。それは私のために問題を解決しました
基本的に、〜/ .gitignoreファイルを確認します。私の名前は〜/ .gitignore_globalと呼ばれていました。いつ作成されたかわかりません([〜#〜] i [〜#〜]は確かに作成できませんでした)私が最初にインストールしたとき、たくさんの異なるgitセットアップがありました。
彼の答えがあなたにも役立つことを願っています!
Gitからこのエラーメッセージを受け取るもう1つの理由は、前のgitコマンドがクラッシュしてロックファイルを残した状態でgit submodule add
コマンドを実行したときです(たとえば、gitコマンドを含むカスタムスクリプトを使用して、クラッシュに気付いていない)。
代わりにgit commit
コマンドを実行すると、どの条件も変更されていない場合(git submodule add
は.gitignore
ファイルが原因であると叫び続けます)、another代わりにエラーレポート:
$ git commit -a
fatal: Unable to create '..../.git/index.lock': File exists.
If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.
そして実際にロックファイルを削除します:
rm .git/index.lock
問題を解決します。 (これはgitバージョン2.1.0.9736で発生します。将来のgitリリースで修正される可能性があります。)
フォルダーに対する権限があることを確認してください。私はこれに遭遇しましたが、それはフォルダーが私が端末にログインしたユーザーではなくwww-dataユーザーによって所有されていたためです。
もう1つ:使用中のディレクトリが書き込みまたは実行のためにルートアクセスを必要とする場合は、ルートユーザーであることを確認してください。サブモジュールを追加しようとしたところ、奇妙なエラーが発生し、gitが無視するファイルによってクローン先のパスが無視されているとgitが文句を言い続けました。その後、rootユーザーに変更し、サブモジュールaddを再度実行しましたが、問題はありませんでした。
私の場合、それは問題の原因となっている私のパスのスラッシュでした...
うまくいかない
/srv/bootstrap/
作業
srv/bootstrap/
一部のGitクライアント(Mac OS XのAtlassian SourceTreeなど)によって作成される可能性のある~/.gitignore
および~/.gitignore_global
も確認してください。
.gitignore
ファイルがそれ自体を無視していないことを確認してください。よくある間違いは、*
ルールを.gitignore
ファイルに追加して、現在のフォルダー内のすべてのファイルを無視することです。これに対する解決策は、.gitignore
に例外を追加することです。
*
!.gitignore
これにより、.gitignore
を除く、ディレクトリ内のすべてのファイルが無視されます。