適切に中止しなかった過去のリベースの場合、現在(Git 2.12、2017年第1四半期) git rebase --quit
参照してください。9512177コミットにより(2016年11月12日)のグエンタイ・ゴックDuyと(pclouds
)。
(合併によりJunio C浜野- gitster
-で06cd5a1コミットし、2016年12月19日)を
rebase
:--quit
クリーンアップリベースに追加し、その他すべてはそのままにします
進行中のリベースを中止して別の処理に進むことを決めたが、最初に" git rebase --abort
" を実行し忘れた場合があります。または、リベースが長い間忘れられていました。(たとえば、別のリベースを開始することによって)それに気付いたときは、すでにあなたのステップをたどるには遅すぎます。解決策は通常
rm -r .git/<some rebase dir>
そしてあなたの人生を続けます。
しかし、2つの異なるディレクトリが存在する可能性があり<some rebase dir>
(リベースがどのように機能するかについてある程度の知識が必要であることは明らかです)、 " .git
"の部分は、トップディレクトリまたはリンクされたワークツリーにいない場合、はるかに長くなる可能性があります。そして、「rm -r
」はで行うのは非常に危険.git
です。そこでミスをすると、オブジェクトデータベースやその他の重要なデータが破壊される可能性があります。
git rebase --quit
この使用例に「」を提供し、「」の前例を模倣しgit cherry-pick --quit
ます。
Git 2.27(2020年第2四半期)より前は、「git merge --autostash
」によって初期ダーティ状態を維持するために作成されたstashエントリが、「」で誤って破棄されgit rebase --quit
、修正されました。
Denton Liu()によるcommit 9b2df3e(2020年4月28日)を参照してください。(合併によりJunio C浜野- -で3afdeefコミット、2020年4月29日)Denton-L
gitster
rebase
:自動保存エントリをstash reflog
に保存します--quit
サインオフ:Denton Liu
でa03b55530a( " merge
:ティーチ--autostashオプション"、2020年4月7日、Gitのv2.27.0 - マージに記載されているバッチ#5)、--autostash
オプションが導入されましたgit merge
。
(「「」がgit pull
保留中の変更を自動的に隠してポップできるか?」を参照)
特に、git merge --quit
autostashエントリが存在する状態でを実行すると、stash reflogに保存されます。
これはgit rebase --quit
、autostashエントリが単に存在しなくなるという現在の動作とは対照的です。
git merge --quit
in の動作を採用しgit rebase --quit
、autostashエントリを単に削除するのではなく、stash reflogに保存します。