235
235
master」を「origin/master」にリセットするにはどうすればいいですか?
もっと簡単な方法で以下のようなことができますか?
git checkout origin/master
git branch -D master
git branch master
git checkout master
もっと簡単な方法で以下のようなことができますか?
git checkout origin/master
git branch -D master
git branch master
git checkout master
KindDragon ](https://superuser.com/users/64719/kinddragon)の[ 回答 ](https://superuser.com/a/802416/141)が言及しているように、`master`で直接`origin/master`を再作成するには:
git checkout -B master origin/master
を使用します。これは、
$ git branch -f <branch> [<start point>]
$ git checkout <branch>
Git 2以降のトランザクションに相当します。 23+ (2019年8月) では、 git checkout
があまりにも紛らわしい なので、新しい (まだ実験的な) コマンドは * -B
**:
git switch -C master origin/master
それはつまり:
-C <new-branch> --force-create <new-branch>
<new_branch>
がすでに存在する場合、それがgit checkout
にリセットされることを除いて、git switch
と似ています。
これは便利なショートカットです:$ git branch -f <new-branch> $ git switch <new-branch>
当初の提案:
何か次のようなもの:
$ git checkout master
# remember where the master was referencing to
$ git branch previous_master
# Reset master back to origin/master
$ git reset --hard origin/master
ステップ2は任意です。
Gitはこのコマンドをサポートしています:
git checkout -B master origin/master
origin/master
ブランチをチェックアウトして、そこでmaster
ブランチをリセットします。
git update-ref refs/heads/master origin/master
git reset --hard master
git は自動的に (reflog を通して) ref のすべての値をログに記録します。
VonC の答えは正しいのですが、古い master の値をファイルシステムにチェックアウトするのに時間を浪費してしまいます。