master
とbugfix
の2つのブランチがあります。現在のブランチはbugfix
で、変更をコミットしました(プッシュされていません)。次に、このコミットをリセットする必要があります。
コミットをリセットした場合、master
ブランチの他のコミットに影響しますか?
実際にはこのコミットを削除したいです。
git reset --soft 734e3a0
SourceTreeを使用しています。
このコマンドはソースツリーターミナルで実行する必要がありますgit reset --soft HEAD~1
このコマンドサワーツリーでコミットをプッシュバックします。次に、最新のプルを取得して、コードをコミットできます。
ソースツリーのログ/履歴に移動し、元に戻すコミットの前のコミットを選択して右クリックし、実行します '現在のブランチをこのコミットにリセットします'これにより、コミットされた変更が破棄されます(プッシュされなかった)。
マスターブランチには何の影響もありません
コードをリモートにプッシュしていない場合は、画像に示す以下の手順に従って変更を元に戻すことができます。ただし、最初に変更をバックアップしてください- ( 1.SourseTreeターミナルに移動します
2。コマンドを実行しますgit reset HEAD~
次に、ファイルのステータスに移動して確認します。
git reset --soft
を実行してもコミットに影響はないと思います。それはあなたのブランチにのみ影響します。
Commit 734e3a0
を元に戻したい場合は、git revert
を使用してみてください。
git revert 734e3a0
これにより、Gitは、734e3a0
が最初に実行していたことをすべて元に戻す新しいコミットを追加するように指示されます。これは、このコミットがブランチの途中にある場合に適したオプションであり、履歴がすでに公開されているブランチにも適していることに注意してください。
まず第一に、あなたは自分が何をしたいのかを自問する必要があります。
reset
の目的は何ですか?
変更をundo
したいと思います。そうすることで、いくつかのオプションがあります。詳細については、次を参照してください。
各オプションで何をすべきかを詳細に説明します。
What needs to be done?
新しい(または古い)コミットを指すようにHEADを設定する必要があります。
上記の投稿では、何をすべきかを示し、いくつかのオプションを示します。