1
0

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 1 year has passed since last update.

Gitブランチを空にしたい

Last updated at Posted at 2023-06-14

やりたいこと

Git管理しているディレクトリの特定ブランチ内のファイル/ディレクトリをすべて削除したい。

前提として以下の条件があるとする。

  • ブランチは残す
  • 空ディレクトリも残さず削除する

方法1 rm -rf *

rm -rf *

カレントディレクトリ以下のファイル/ディレクトリ共に削除できるが、 .git/ も削除されてしまうので、gitによる管理ができなくなってしまう。

方法2 git rm -r .

git rm -r .

gitのサブコマンドを使用する方法。.git/ は残しつつ、カレントディレクトリ配下のファイルをすべて削除できるが、空のディレクトリが残ってしまう。

方法3 ls -A | grep -e -V '.git' | xargs rm -rf

ls -A | grep -e -V '.git' | xargs rm -rf

.git/ は残しつつ、ファイルも空ディレクトリも綺麗さっぱり削除できる。

-e オプションは、引数で指定した文字列を検索する。今回の場合は ".git" に一致するファイル/ディレクトリが該当する。

-v オプションは、結果を反転させる。つまり ".git" を除いた結果が得られる。

結果として、ls -A の結果から ".git" を除いたものが rm コマンドに渡され、.git以外のすべてのファイル/ディレクトリを削除できる。

参考

参考にさせていただきました。
ありがとうございます🙇‍♂️

特定のファイル以外を指定して削除する方法

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?