開発をしていてGithubにあげる必要がないけれどローカルに残しておきたいファイル群が存在する場合があります。自分はDocker環境で開発しているのでdocker-compose.ymlはローカルで必要だけれどGithubにはあげる必要がありません。
その場合はまず$ echo "docker-compose.yml" >>.gitingore
のように.gitingoreに記述することが一般的です。
しかし、.gitingoreに記述し忘れてうっかりGithubにあげてしまった場合はどうしましょう。あげた後に.gitingoreに記述してもそれだけでは取り消せません。その場合はgit rm --cached ファイル名
を活用すると良さそう。
例えばファイル名がdocker-compose.ymlの場合、
-
$ git rm --cached docker-compose.yml
-
$ git add docker-compose.yml
-
$ git commit -m "DELETE docker-compose.yml"
-
$ git push origin master
これでローカルにはdocker-compose.ymlが残るけどGithubのものは消せたはず。 -
$ echo "docker-compose.yml" >>.gitingore
最後に.gitingoreに書いておけば間違ってGithubにあげることも防げるので書いておいたほうが良い。
git rm --cachedで--cachedを忘れるとローカルのファイルも削除してしまうので慎重に。
自分用メモですが誰かの役に立てば。