🐈‍⬛

.gitignoreファイルを編集する

2024/02/02に公開

管理しないファイルを追加する場合

今回は、vscodeの設定ファイル (.vscode/settings.json) をgitの管理から除外する

※下記1~4は、gitignoreファイルを編集する張本人の手順

1)管理しないファイルを.gitignoreファイルに書く

※他の人がgitignoreファイルを編集している場合はソースをpullして3)から行う

プロジェクトフォルダ/.gitignore
# vscode
.vscode/

コードの意味:.vscodeフォルダは以下のファイルを、全て管理対象から外す

/ ファイル名(またはフォルダ名):.gitignoreファイルと同じディレクトリにあるファイルとマッチングするものを除外
ファイル名(またはフォルダ名):.gitignoreファイル関係なく、記述したファイル名またはフォルダ名とマッチングするものを除外
フォルダ名 /:フォルダ配下のファイルを全て除外

2) .gitignoreファイルをpushする

gitの管理ツールでコミット、プッシュをする
ここまでしても gitignore が反映されていない場合、3)以降を行う

3)キャッシュを削除する

これまでにgitで管理していた履歴が残っていると、gitignoreに記述していてもgitの管理下に入ってしまうので、キャッシュを削除しgitの管理下から完全に外す

ターミナル
$プロジェクトフォルダ\cd .vscode
$プロジェクトフォルダ\.vscode\git rm -r --cached .vscode/settings.json
rm '.vscode/settings.json'

git rm:ファイル削除
-r:Recursive(リカーシブ/再帰的) の頭文字。そのディレクトリと、その下のコンテンツ全てが削除される
--cached:ファイルは残したまま、キャッシュのみ削除
--cached の後ろは、追記した管理対象外にしたいファイル名

4)gitに反映させる

ターミナル
$プロジェクトフォルダ\git commit -m"ignore .vscode/settings.json file"
[dev 8b9a8a3e0] ignore .vscode/settings.json file
 1 file changed, 7 deletions(-)
 delete mode 100644 .vscode/settings.json

-m"ignore .env file":コメントを付けてコミットできる。" "で囲った部分がコメントになる

ターミナルで実行の後、使用しているgit管理ツールでpushする

張本人と一緒に仕事している人の対応

基本的に、pushされたgitignoreファイルをpullすることでignoreが反映されるが、
それがうまくいかない場合(キャッシュの削除を行った場合)、下記のような手順を行う。
※ただし最善ではないと思われるため要確認、今後も検証が必要

やり方1

1)ソースをpull
2)キャッシュ削除時に消されたファイルをローカルで再度作成する
3)管理しないファイルを追加する場合3)4) を行う

おまけ

git管理対象外ファイル一覧の確認コマンド

ターミナル
git status --ignored

参考文献

Discussion