3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

既にGitHubにpushしたファイルを後からgitignoreに含めたい時

Posted at

git pushしたファイルの中に一般公開してはセキュリティ上良くないファイルがあったりすると思います。
僕の場合、railsで開発しているアプリにおいて、seeds.rbファイルに管理者ユーザーの情報を記載しており、一般公開されると良くないことに後から気づきました。
ファイルをgitignoreに含める方法は段階によって色々ありますが、ここではgit pushまで実行してしまっている場合を想定しています。

##実行手順

①「git rm --cached ファイル名」コマンドにて該当ファイルの削除。(ディレクトリ毎削除する場合は-rをつける。)
②.gitignoreファイルにプッシュしたくないファイル名を追記。
③再度git addからpushまでを実行する。

※①のコマンド入力時に「fatal: pathspec 'ファイル名' did not match any files」と表示される場合は、「git rm --cached --ignore-unmatch .」コマンドを入力してみてください。
このエラーはgitの管理対象外のファイルが含まれていることが原因みたいです。

##おわりに
「該当ファイルをGitHubから削除→ローカルでgitignoreに追記→再度push」という簡単な流れで実行できてよかったです。
この手順だとコミット履歴が残るという点だけ注意が必要です。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?