[解決済み】「破損した」対話型リベースを修正する方法は?
2022-04-01 03:46:08
質問
ローカルのgitリポジトリでちょっとした混乱を起こすことに成功しました。壊れたコミットを修正するために 次の指示 . git commit --amend" を実行する前に(そして git rebase --interactive の後に)私は自分の変更が正しくないと判断し、 "git reset HEAD --hard" を実行したのです。良いアイデアではありませんね。
今、対話型リベースは "stuck" になっているようです。Git は現在のブランチを (|REBASE-m) と表示しています。リポジトリ内のすべてのコマンド(cd ...、ls、git rebase...)で、以下のエラーが発生します。
cat: .git/rebase-merge/head-name: そのようなファイルまたはディレクトリはありません。
git rebase --abortはこんな感じです。
$ git rebase --abort
cat: c:/_work/project/src/git/.git/rebase-merge/quiet: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/head-name: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/orig-head: No such file or directory
HEAD is now at 4c737fb Revert "Modified file names"
rm: cannot remove `c:/_work/project/src/git/.git/rebase-merge/done': Permission denied
rm: cannot remove directory `c:/_work/project/src/git/.git/rebase-merge': Directory
not empty
cat: .git/rebase-merge/head-name: No such file or directory
git rebase --continueの結果です。
$ git rebase --continue
cat: c:/_work/project/src/git/.git/rebase-merge/prev_head: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/end: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/msgnum: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/onto: No such file or directory
cat: c:/_work/project/src/git/.git/rebase-merge/quiet: No such file or directory
prev_head must be defined
cat: .git/rebase-merge/head-name: No such file or directory
何かアイデアはありますか?考え抜いたリベース操作を開始する前の状態にリセットしたいのですが。
git log --onelineで状況を確認するとこんな感じです。
4c737fb Revert "Modified file names"
247ac02 Modified file names
33141e6 Message modifications
10a4a04 Modified db script
そして、これでいいのです。
msysgit v1.7.0.2を使っています。
解決方法を教えてください。
Git が
.git/rebase-merge
ディレクトリがありますが、完全に削除できていません。そのフォルダをコピーしてみてはいかがでしょうか?また
.git/rebase-apply
フォルダがある場合は、そのフォルダを削除してください。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] git rebase の取り消し
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] git pull リモートブランチがリモートの参照先を見つけることができない
-
[解決済み】ファイルのアンリンクに失敗しました。もう一度試してみるべきですか?
-
[解決済み] [email protected] へのいくつかの参考文献のプッシュに失敗しました。
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push some refs to .......
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] git ls-remote と git ls-remote origin の違い。
-
[解決済み] git rebase: "error: cannot stat 'file': パーミッションが拒否されました"
-
[解決済み] git initを2回実行すると、リポジトリが初期化されますか?それとも既存のリポジトリを再初期化しますか?
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
-
[解決済み】指定したコミットを変更するには?