web-dev-qa-db-ja.com

SourceTreeでコミットをリセット

masterbugfixの2つのブランチがあります。現在のブランチはbugfixで、変更をコミットしました(プッシュされていません)。次に、このコミットをリセットする必要があります。

コミットをリセットした場合、masterブランチの他のコミットに影響しますか?

実際にはこのコミットを削除したいです。

git reset --soft 734e3a0

SourceTreeを使用しています。

6
Roe

このコマンドはソースツリーターミナルで実行する必要がありますgit reset --soft HEAD~1このコマンドサワーツリーでコミットをプッシュバックします。次に、最新のプルを取得して、コードをコミットできます。

5

ソースツリーのログ/履歴に移動し、元に戻すコミットの前のコミットを選択して右クリックし、実行します '現在のブランチをこのコミットにリセットします'これにより、コミットされた変更が破棄されます(プッシュされなかった)。

マスターブランチには何の影響もありません

3
Surendra Reddy

コードをリモートにプッシュしていない場合は、画像に示す以下の手順に従って変更を元に戻すことができます。ただし、最初に変更をバックアップしてください- revert changes 1.SourseTreeターミナルに移動します
2。コマンドを実行しますgit reset HEAD~

次に、ファイルのステータスに移動して確認します。


git reset --softを実行してもコミットに影響はないと思います。それはあなたのブランチにのみ影響します。

Commit 734e3a0を元に戻したい場合は、git revertを使用してみてください。

git revert 734e3a0

これにより、Gitは、734e3a0が最初に実行していたことをすべて元に戻す新しいコミットを追加するように指示されます。これは、このコミットがブランチの途中にある場合に適したオプションであり、履歴がすでに公開されているブランチにも適していることに注意してください。

1
Chuck

まず第一に、あなたは自分が何をしたいのかを自問する必要があります。

resetの目的は何ですか?

変更をundoしたいと思います。そうすることで、いくつかのオプションがあります。詳細については、次を参照してください。

移動方法HEAD前の場所に戻る?(切り離された頭)

各オプションで何をすべきかを詳細に説明します。


What needs to be done?

新しい(または古い)コミットを指すようにHEADを設定する必要があります。
上記の投稿では、何をすべきかを示し、いくつかのオプションを示します。

1
CodeWizard