Gitブランチを元のバージョンにリセットする必要がある 質問する

Gitブランチを元のバージョンにリセットする必要がある 質問する

しばらくの間、作業すべきではなかったブランチで誤って作業していたため、適切な名前を付けて分岐しました。今、作業すべきではなかったブランチを origin (github) のバージョンに上書きしたいと考えています。これを行う簡単な方法はありますか? ブランチを削除してから追跡ブランチをリセットしてみましたが、作業していたバージョンが再び表示されるだけです。

ベストアンサー1

まだオリジンにプッシュしていない場合は、ブランチをリセットして上流のブランチ:

git checkout mybranch
git reset --hard origin/mybranch

(質問で述べたように、別のブランチで最新のコミットを参照するようにしてください)

リセット直後は、mybranch@{1}リセット前の古いコミットを参照することに注意してください。

しかし、すでにプッシュしている場合は、「Gitブランチを作成し、元の状態をアップストリームの状態に戻すその他のオプションについては、「」を参照してください。


Git 2.23 (2019 年 8 月)では、コマンドは 1 つになります。git switch
つまり:git switch -C mybranch origin/mybranch

C:\Users\vonc\git\git>git switch -C master origin/master
Reset branch 'master'
Branch 'master' set up to track remote branch 'master' from 'origin'.
Your branch is up to date with 'origin/master'.

これにより、インデックスと作業ツリーが復元されますgit reset --hard


コメントしたようにブラッド・ハーマン、 a は新しいファイルを削除するか、変更されたファイルを HEAD にリセットしreset --hardます。

実際には、確実に「白紙の状態」から始めるために、git clean -f -dリセット後には、リセットしたばかりのブランチとまったく同じ作業ツリーが確保されます。


これブログ投稿以下のエイリアスを提案します (masterブランチのみですが、適応/拡張できます):

[alias]
   resetorigin = !git fetch origin && git reset --hard origin/master && git clean -f -d
   resetupstream = !git fetch upstream && git reset --hard upstream/master && git clean -f -d

次に次のように入力します:

git resetupstream

または

git resetorigin

おすすめ記事