git管理したくないファイルが開発途中で出てきた時に、.gitignoreに追加すれば良いところまでは思いつくけど、それを反映させる方法を忘れてしまうので備忘録。
1. まずは.gitignoreに追記
config/database.yml
config/secrets.yml
2. git statusを見てみる
[hoge@:~/rails/hoge_prj (master *)]$ git st
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: config/database.yml
modified: config/puma.rb
3. git rm -f –cachedで管理対象から外す
[hoge@:~/rails/hoge_prj (master *)]$ git rm -f --cached config/database.yml
rm 'config/database.yml'
[hoge@:~/rails/hoge_prj (master *)]$ git rm -f --cached config/secrets.yml
rm 'config/secrets.yml'
1ファイルずつ指定するのが面倒な場合は
[hoge@:~/rails/hoge_prj (master *)]$ git rm -rf --cached .
で良いらしい。
4. 再度git statusを見てみる
[hoge@:~/rails/hoge_prj (master *)]$ git st
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: config/database.yml
deleted: config/secrets.yml
5. コミットする
[hoge@:~/rails/hoge_prj (master *)]$ git add . & git commit -m 'add files to .gitignore'
まとめ
gitのオプションは大量にあり過ぎて良く分からないまま使ってるのとかあって怖い。
1人で開発してるから、まぁ良いんだけどね…。
コメント