【Git】git reset --softとgit commit --amend
d.yoshimitsu
Posted on March 26, 2020
他の人が入手可能であり、別のリポジトリに存在するかもしれないブランチの一部は、書き換えたり、変更したり、交換してはいけません。
git reset --softとは
git resetコマンドはリポジトリと作業ディレクトリを既知の状態に変更します。
git resetは作業ディレクトリの変更を上書きして壊してしまう可能性があります。
git reset --soft commitは、HEADの参照を指定されたコミットに変更します。
インデックスと作業ディレクトリの内容は変更されません。参照の状態を変更して新しいコミットを指すようになるだけです。
インデックスを変更する必要はないものの、コミットメッセージだけは修正したい場合、--soft
を使うことができます。
$ git reset --soft HEAD^
git commit --amend
カレントブランチで、最新のコミットを変更する方法のうちの1つです。
git commit --amendは、コミット後にミスタイプを修正するためによく使われますが、用途はこれだけではありません。
このコマンドは、コミットと同じようにリポジトリ内のどんなファイルでも修正できます。新しいコミットの一部としてファイルの追加や削除も可能です。
作業ディレクトリ内のファイルを修正します。必要に応じて、誤字を修正し、ファイルの追加や削除しましょう。
他のコミットと同様に、git addやgit rmのようなコマンドを使って変更をインデックスにステージします。
その後、git commit --amendコマンドを実行します。
この修正によって、元のコミットが修正され、既存のコミットが置き換えられます。
どちらを使用するべきか
先頭コミットを変更(git reset --soft HEAD^)したい場合は、git commit --amendを使用しましょう。
Posted on March 26, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 29, 2024