3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHubに誤ってpushしたファイルを削除したい

Last updated at Posted at 2025-03-29

はじめに

先日、GitHubに誤って.DS_Storeファイルをpushしてしまいました。

これからうっかり誤ったファイルをpushしたときに慌てないようにするため
手順をまとめました。

.DS_Storeファイルとは

その前に、.DS_Storeファイルとは何でしょうか。

フォルダの表示オプション、アイコンの位置などのフォルダのカスタム属性を格納しているファイルのようです。
https://en.wikipedia.org/wiki/.DS_Store

問題

GitHub上に誤って必要のないファイルをあげてしまった。

解決方法

手順1. git rm --cachedコマンドを使う
手順2. ~/.config/git/ignoreにファイル名を記述する
手順3. .gitignoreファイルにファイル名を記述する
手順4. GitHubにpushする


手順1.git rm --cachedコマンドを使う

	$ git rm --cached .DS_Store

上記のコマンドを叩くと、リポジトリ上でこのファイルが削除されます。
しかし、ワークツリー上にはファイルが残ります。

ワークツリーからも削除したい場合はgit rmコマンドを使います。

ディレクトリの場合は-rをつけます。

手順2. ~/.config/git/ignoreにファイル名を記述する

ここに記載されたファイルはGitの管理下から外れ、追跡の対象外となります。

.gitignoreファイルとの違いは、各リポジトリによらないグローバルなgitignoreを設定することができます。

.DS_Storeファイルのようなプロジェクトに関係がないファイルはこちらに記載しましょう。

~/.config/git/ignore
.DS_Store

また、GitHubのリポジトリに下記テンプレートがあるので、こちらを~/.config/git/ignoreにコピペするのも良いですね。

macOS.gitignore

手順3. .gitignoreファイルにファイル名を記述する

プロジェクト由来のファイルであれば、.gitignoreファイルに記述します。
.DS_Storeのようなプロジェクトに関係が無く、毎回、個人の環境によるファイルを書くのは大変です。

そういったファイルはグローバルなgitignoreに記述していきたいですね。

手順4. GitHubにpushする

言うまでもないことですが、最後にGitHubへpushします。

終わりに

今回は、うっかりGitHubに上げたくないファイルをpushした時の対処法をまとめました。

最初、グローバルなgitignoreの設定を知らず、リポジトリを作成するたびに.gitignoreファイルが必要なのか?と思っていましたが、そうではありませんでした。

今後も横着せずに楽な方法はないか?を発想して学習していきます。

参考

3
5
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
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?