Git のリポジトリからファイルを削除する
このチュートリアルでは、Git リポジトリからファイルを削除する方法を示します。
Git は共同開発環境を可能にします。したがって、多くのファイルが開発者のチームによって Git リポジトリにコミットされます。
多くの場合、不要になったファイルや冗長なファイルに遭遇します。そのような場合、リポジトリにすでにコミットされているそのようなファイルまたはフォルダを削除するのが適切であると見なします。
これを例を挙げて説明します。
git rm
を使用して Git リポジトリ内のファイルとフォルダーを削除する
Git リポジトリに folder1
という名前のフォルダがあるとします。また、このフォルダには file1
と file2
の 2つのファイルがあることを考慮してください。
$ ls folder1/
file1 file2
Git リポジトリ内のファイルを削除するには、次のようにする必要があります。
$ git rm <filename>
$ git commit -m "commit message"
$ git push origin branch_name
最初のコマンドは、Git リポジトリとファイルシステムからファイルを削除します。後続のコマンドは、変更をコミットし、変更(つまり)ファイルの削除をリモートリポジトリにプッシュするために使用されます。
したがって、file1
を削除するには、この例では次のようにします。
$ cd folder1
$ git rm file1
rm 'folder1/file1'
folder1
に移動し、リポジトリとファイルシステムから file1
を削除しました。
削除状況は以下のように確認できます。
$ git status
On branch main
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: file1
ここで、この削除を次のようにコミットします。
$ git commit -m "deleted file"
[main 27ec53b] deleted file
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 folder1/file1
$ git push origin main
ファイルシステムからではなく、リポジトリからのみファイルを削除したい場合があります。そのファイルを他の目的に使用したい場合があります。
ファイルシステムからではなくリポジトリからのみファイルを削除するには、次のことを行う必要があります。
$ git rm --cached file2
$ git commit -m "Removed file2 from repository only"
$ git push origin main
--cached
オプションを指定して git rm
コマンドを実行すると、ファイルはリポジトリから削除されますが、作業ツリー(つまりファイルシステム)からは削除されません。
場合によっては、フォルダ全体を削除する必要があります。
これを行うには、次のようにオプション -r
を git rm
コマンドに追加する必要があります。
$ git rm -r folder1
rm 'folder1/file2'
$ git commit -m "removed folder1"
[main dabfe02] removed folder1
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 folder1/file2
$ git push origin main
したがって、この例では、フォルダ viz を削除しました。folder1
とその内容。
git rm
の詳細については、次のサイトを参照してください-git rm
。