.gitignoreファイルを編集する
管理しないファイルを追加する場合
今回は、vscodeの設定ファイル (.vscode/settings.json) をgitの管理から除外する
※下記1~4は、gitignoreファイルを編集する張本人の手順
1)管理しないファイルを.gitignoreファイルに書く
※他の人がgitignoreファイルを編集している場合はソースをpullして3)から行う
# 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
参考文献
- .gitignoreの書き方
https://www-creators.com/archives/1662
https://zenn.dev/ianchen0419/articles/cdd7f2e806f54a - .gitignoreが反映されない場合の対処法
https://qiita.com/fuwamaki/items/3ed021163e50beab7154
https://www-creators.com/archives/6144
https://goat-inc.co.jp/blog/2634/ - .gitignoreの管理について
https://qiita.com/Nshota/items/08d423d9681fe9cfd744 -
git コマンドリファレンス(日本語)
https://tracpath.com/docs/ - git commit
https://codelikes.com/git-commit/ - git push
https://www-creators.com/archives/1472 - git rm
https://tracpath.com/docs/git-rm/
https://www.atlassian.com/ja/git/tutorials/undoing-changes/git-rm
https://qiita.com/yusuke___web/items/d80a3adfe01086b4f62b
Discussion