1. ホーム
  2. git

[解決済み] チェックアウトせずに他のブランチをカレントにリセットする

2022-06-05 11:02:03

質問

Git ワークフローのためのスクリプトをいくつか書いています。

チェックアウトせずに、他の(既存の)ブランチを現在のブランチにリセットする必要があります。

以前は

 CurrentBranch: commit A
 OtherBranch: commit B

後です。

 CurrentBranch: commit A
 OtherBranch: commit A

に相当します。

 $ git checkout otherbranch 
 $ git reset --soft currentbranch
 $ git checkout currentbranch

(注 --soft : 作業ツリーに影響を与えないようにするためです。)

このようなことは可能でしょうか?

どのように解決するのですか?

あなたが説明したワークフローは同等ではありません:あなたが実行するとき reset --hard を実行すると、作業ツリー内のすべての変更が失われます (これを reset --soft ).

必要なものは

git update-ref refs/heads/OtherBranch refs/heads/CurrentBranch