リベースのスクリプトを作成しようとしていますが、リベースによって競合が発生するかどうかに応じて、スクリプトは異なるパスをたどります。
リベースを実行する前に、リベースによって競合が発生するかどうかを判断する方法はありますか?
リベースのスクリプトを作成しようとしていますが、リベースによって競合が発生するかどうかに応じて、スクリプトは異なるパスをたどります。
リベースを実行する前に、リベースによって競合が発生するかどうかを判断する方法はありますか?
以前からすべての変更を復元するよりも、git rebase を実行して、必要に応じて操作することができます。いくつかのブランチを にリベースしたがmaster
、それが気に入らないとします。
git reflog -20
- HEAD の最後の 20 の位置と簡単な説明が表示されますgit checkout <the_branch_name>
- HEAD をブランチに配置しますgit reset --hard <old_sha1_found_in_reflog>
- HEAD とブランチを古い参照に配置します。このようにして、古いブランチを復元できます。ここで理解すべきメカニズムがいくつかあります。
rebase
およびその他の HEAD 操作のすべての履歴は、reflog
@{N}
から注釈を使用できます。reflog
したがって、 の後に何も失わrebase
れることはありません。それを見つけて回復する方法を知っているだけです。
たとえばrebase
、元に戻すか削除する前にタグを配置できます。すべての SHA1 調査ステップを回避します。