最後のコミットからファイルを削除する

Beginner

This tutorial is from open-source community. Access the source code

はじめに

Git は、開発者がコードベースの変更を追跡できる強力なバージョン管理システムです。Git の一般的なタスクの 1 つは、最後のコミットからファイルを削除することです。これは、意図せずに最後のコミットに追加したファイルを含めないようにするときに便利です。

最後のコミットからファイルを削除する

意図せずに最後のコミットに追加したファイルがあります。メッセージを変更することなく、最後のコミットからそのファイルを削除したいと思います。

この実験では、https://github.com/labex-labs/git-playground のリポジトリを使用します。git-playground という名前の Git リポジトリがあり、file2.txt という名前のファイルを意図せずに最後のコミットに追加したとします。最後のコミットからファイルを削除する手順は以下の通りです。

  1. リポジトリをクローンし、ディレクトリに移動して ID を設定します。
git clone https://github.com/labex-labs/git-playground
cd git-playground
git config --global user.name "your-username"
git config --global user.email "your-email"
  1. git rm --cached <file> を使用して、指定された <file> をインデックスから削除します。
git rm --cached file2.txt
  1. git commit --amend を使用して、最後のコミットの内容を更新し、メッセージを変更しません。
git commit --amend --allow-empty

ファイルを削除した後のコミットが空のコミットの場合、--allow-empty を使用します。そうでない場合は省略できます。

これらのコマンドを実行すると、file2.txt ファイルがメッセージを変更することなく最後のコミットから削除されます。

Git バージョン管理から file2.txt を削除したときの状況は以下の通りです。

On branch master

Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: file2.txt

Untracked files:
(use "git add <file>..." to include in what will be committed)
file2.txt

まとめ

Git を使用して作業する際には、最後のコミットからファイルを削除するスキルは便利です。git rm --cached <file>git commit --amend コマンドを使用することで、メッセージを変更することなく、最後のコミットからファイルを簡単に削除できます。