SourceTree は現在のブランチをこのコミットにリセットします
使用するシーン:
送信されたがプッシュされていないリビジョンは取り消されます。また、ある時点の間違ったリビジョンをすべて取り消したいと考えています。
現在のリリース コードにはバグがあるため、最後に提出されたリリース バージョンに切り替える必要があります。
Git の HEAD の説明
# 最新のコミットでステージング領域を再作成する
git restart HEAD -- ファイル名
# 最新のコミットでステージング領域とワークスペースを再作成します
git restart --hard HEAD
# コミット ログをステージング領域に一度ロールバックすると、作業領域内のコードは変更されません。
git restart --soft HEAD~1
マージモードの説明:
ソフトマージ |
ソフト マージとは、指定された送信場所に送信をロールバックすることを指しますが、このプロセス中、変更されたファイルは一時記憶域に一時的に保存されます。 |
ハイブリッド合併 |
混合マージとは、指定された場所に送信をロールバックすることを指しますが、このプロセスでは、変更されたファイルは一時記憶領域に一時的に保存されず、変更されたファイルは非一時ファイル領域に保存されます。 |
強制合併 |
強制マージとは、送信を指定された場所にロールバックすることを指しますが、このプロセスでは、以前に変更されたすべてのファイルが直接破棄されます(そのため、不要なトラブルを避けるために、この種のマージを選択するときは慎重に検討する必要があります)。 |
強制合併
実行が完了すると、プルする新しい更新があることを示すプロンプトが表示されます。プルしないでください。プルした後、前のプルがローカルにプルされます。コミットを実行する必要がありますが、sourceTree では実行できません. このとき、ターミナルを使用します。
ターミナルを開き、プロジェクト ディレクトリに移動し、現在のブランチで git Push -f を実行します。
強制プッシュ後、Git 送信はリセット前に送信レコードを破棄します (44444 送信はフラッシュされ、最新の送信は 333 送信になります)。
元に戻す方法
強力なマージ後 (コードがこの送信にリセットされているため、背後に xx バージョンのプロンプトが表示され、プル ボタンに更新のプロンプトが表示されます)、このマージをキャンセルしたい場合は、[プル] をクリックして確認してください。
ハイブリッド合併
ソフトマージ
ロールバックとリセット送信の違いについても説明します。
1. ロールバック - 変更されたコードがローカル ウェアハウスに送信されるが、リモート ウェアハウスにはプッシュされない場合を指します。
也就是说刚刚提交代码,没有推送,这时候你发现提交错了,只需要选择本地分支你刚提交的节点上,右击回滚一下即可,这时候本地分支会出现“Revert”的字样,推送按钮会出现提示推送的角标,这时候你可以直接推送一下,远端也不会有变化,只不过是推送一些日志记录或者其他与代码无关的,或者也可以提交好正确的代码后,一起推送。
还有一种情况就是回滚后发现没有错误...(贼尬)...这时候刚写的代码已经没了...那就索性再回滚一次,也就是说撤销刚才的回滚操作,这时候本地分支节点上会出现“Revert 'Revert '”的字样...推送按钮也会出现提示推送的角标,这时候可以仿照上一步后半部分操作。
2、重置当前分支到此次提交——是指将改动的代码提交到本地仓库后,并已推送到远端仓库的时候