.gitignore にファイルを追加する方法と、ソースツリーでファイルを無視した後、.gitignore ファイルの内容が変更されないのはなぜですか?

.gitignore にファイルを追加する方法と、ソースツリーでファイルを無視した後、.gitignore ファイルの内容が変更されないのはなぜですか?

フォルダー内で見つかった.vsときにロック/アクセス許可が拒否されたエラーが発生したため、フォルダー全体を無視したかったので、次の bash コマンドでファイルを作成しました。sqlite3/db.lock.vs.gitignore

touch .gitignore

そして、.gitignore ファイル内に次の行を追加しました:

.vs/*

しかし、実行すると、まだ同じエラーが発生しましたgit add --all

最終的に、Sourcetree アプリを開き、.vsファイルを右クリックして無視を選択することでフォルダーの内容を無視し、その後、すべてのファイルを追加し、コミットしてプッシュすることができました (Sourcetree アプリ経由)。

すべてをコマンドラインで実行したかったので、この解決策には満足していません。Sourcetree で操作したはずなのに、gitignore の内容が変更されないのはなぜでしょうか。また、 にファイルを追加するにはどうすればよいでしょうか.gitignore。私が行ったことは、何の効果もなかったようです ( 行を追加したという事実.vs/*)

答え1

あなたがしたことは効果がありました。つまり、すべてが未来変更は無視されます。

ここでの問題は、ファイルを追加すると、.gitignore変更内容は無視されますが、リポジトリには残ります。必要なのは、git からすべてを削除して、再度追加することです。こうすることで、無視したいファイルは追加されなくなります。

次のコマンドでこれを実行できます。

git rm -r --cached .
git add .
git commit -m ".gitignore fix"

参照:http://www.codeblocq.com/2016/01/Untrack-files-already-added-to-git-repository-based-on-gitignore/

関連情報