21

.git フォルダーを含むフォルダーに .gitignore ファイルを作成しましたが、リポジトリの再スキャンを実行すると、無視しようとしているファイルが引き続き取得されます。

これがファイルの内容です。

# Ignored files
*.suo 
*.user 
bin 
obj 
*.pdb 
*.cache 
*_svn 
*.svn 
*.suo 
*.user 
*.build-res 
TestResults 
_ReSharper*

私は何を間違っていますか?ファイルはどこにあると思われますか?

4

6 に答える 6

13

まだ表示されているファイルが現在コミットまたはステージングされていないことを確認する必要があります。

それらを削除して (git rmまたはgit rm --cached)、プライベート ファイルとして追加すると、それらは無視されます。

于 2010-02-23T14:55:27.097 に答える
6

あなたのファイルは良さそうです。各行の先頭に空白がないことを確認してください。.gitignore が正しく機能しない理由を見つけるのに 4 時間かかりました。その理由はもちろん、ファイルの先頭に垂直の空白行があったカット アンド ペーストの問題でした。

git commit -a.gitignore ファイルが不要なものをすべて完全に消去することを確認する前に、注意する必要があります。各ファイルをまたはでマークする(またはワイルドカードを使用する)か、git add *.cpp *.hまたは-私が好むように-進行中に.gitignoreを開発し、コミットするgit status前に常に確認してください。

.gitignore が実際に機能することを再確認したい場合は、試してください

git ls-files --others -i --exclude-standard

これにより、現在無視しているすべてのファイルが一覧表示されます。

既に追加したファイルを消去するには (おそらく を使用git add .して、最初に間違いを犯します =]) @VonCが言ったように実行できます。次のいずれかを実行します。

git rm <filename>

また

git rm --cached <filename>

意図せずに追加したすべてのファイルを消去する別のオプションは、リポジトリを完全に消去してから、すべてを再度追加することです。ステージング領域のすべてをクリアしたい場合は、実行できます

git --rm cached .

ただしgit add .、リポジトリに本当に必要なファイルのみが git status にリストされていることを確認するまでは、実行しないでください。

git のもう 1 つの非常に便利な点は、ワイルドカードを使用する場合にファイルへのパスが必要ないことです。*.suo無視されたファイルをリストして、すべての*.logファイルを削除したいことがわかった場合は、実行するだけです

git rm --cached *.suo *.log

git は、ツリー内のどこにあるかに関係なく、その署名に一致するリポジトリ内のすべてのファイルを見つけます。

于 2011-10-10T12:34:35.140 に答える
3

これを機能させるために複数の方法を試しましたが、最終的には非常に簡単でした:

最初に .gitignore をコミットする必要があります。

また、TortoiseGIT - GitEx Commit Tool を使用する場合、無視されたファイルを編集するオプションがあります。

于 2013-04-09T19:08:57.390 に答える
1

あなたはそれを正しく見つけています。.gitignore は、.git フォルダーがある同じフォルダーにある必要があります。内部のファイルも正しく見えます。ただし、上部にコメント行がありません..

于 2010-02-23T14:55:18.713 に答える
0

--rm キャッシュされたソリューションはどれもうまくいきませんでした。ファイルは ASCII/ANSI としてエンコードする必要があります。行末も変えましたが、それだけでは直りませんでした。これらの指示があった URL が見つかりません (申し訳ありませんが、元のポスターです!) が、これはうまくいきました:

  1. Notepad++ をまだインストールしていない場合はインストールします。テキストパッドも機能するはずですが、私は Notepad++ を使用しています。
  2. Notepad++ で .gitignore を開きます。
  3. [表示] をクリックします。シンボルを表示 | すべての文字を表示します。おそらく、各行の終わりに CR LF が表示されます。
  4. 検索と置換 (ctrl+h) を実行し、Extended がチェックされていることを確認します (左手の下隅)。\r\n を検索し、\n に置き換えます。すべての CR LF が LF に変更されていることがわかります。
  5. 次に、[エンコード] をクリックします。ANSI でエンコードします。
  6. ファイルを保存して終了します。

Windows のコマンド プロンプトまたは git コマンド プロンプトのどちらからでも、git status を実行すると、.gitignore 内のファイルは表示されません。

于 2016-08-24T14:54:40.320 に答える
0

これを見ると、無視ファイルをコミットするのを忘れていたと思います。

于 2012-11-29T17:46:43.363 に答える