web-dev-qa-db-ja.com

Visual Studioでプッシュされていない送信コミットを削除する方法

誤ってVisual Studio 2017の新しいブランチの段階的な変更を自分のローカルリポジトリにプッシュしました。リモートリポジトリにプッシュされていません。取り除きたいのですが、その方法が見つかりません。私はローカルのマスターブランチから新しいブランチにリベースしました。それから私は新しい枝を削除しました。しかし、Outgoing Commitsはまだそれを示しています。削除または元に戻す方法

enter image description here

55
Tony_Henrich

[ブランチ]タイルからチームエクスプローラの[履歴]タブを開きます(ブランチを右クリックします)。次に履歴で、プッシュしたくないコミットの前にあるコミットを右クリックし、リセットを選択します。これでブランチはそのコミットに戻り、あなたが行った余分なコミットは取り除かれるはずです。 与えられたコミットの前にリセットするためには、その親を選択しなければなりません。

変更したいことに応じて、hardを選択してください。これはローカルでそれらを取り除きます。またはsoftを選択すると、コミットは取り消されますが、破棄されたコミットの変更内容は作業ディレクトリに残ります。

85
jessehouwing

私はこの問題を解決するのに役立った単一の良い答えを見つけることができませんでした。

誤って変更をコミットしたブランチの名前がmasterであるとしましょう。次の4つの簡単なステップは私にとって世界のように証明されました:

  1. 支店へ
  2. master以外のブランチを選択または作成します
  3. ローカル/ワークスペースバージョンのmasterを削除します
  4. remotes/Originからマスターに切り替えます
16
Chaos Legion