[解決済み] git rebase: "error: cannot stat 'file': パーミッションが拒否されました"
2022-02-01 11:12:07
質問
gitを使用していて、小さなコミットの後に大きなコミットをしました。 私は
git rebase
を使い、2つのコミットを一緒につぶしてからプッシュします。 (こんなことは初めてです)。
だから、そうしたんだ。
git rebase -i HEAD~2
これでエディタができあがりました。ここで私は以前のコミットを選び、後のコミットを破棄することにしました。 保存すると、git はこう言いました。
error: cannot stat ' ファイル名 ': パーミッションが拒否されました
適用できませんでした 後のコミットのためのsha1 ... そのコミットのテキストの最初の行
今すぐ
-
を実行すると、どちらのコミットも表示されません。
git log
. -
git status
は、私が "現在どのブランチにも属していないことを教えてくれます。 - 1つのファイルが修正済みでインデックスに表示され、2つのファイルが未追跡として表示されています。 私の最初のコミットでは1つのファイル(と思う)、2番目のコミットではかなりの数のファイルがありました。
何が起こったのか!? どうしたら直るの?
解決方法は?
このエラーはWindowsでしか見たことがありません。このエラーの意味は、パッチを適用しようとした瞬間に、何かがgitのファイル変更をブロックしてしまったということだと思われます。
Windowsは、本当は必要ないはずのファイルへの排他的アクセスをプロセスに与える傾向があります。過去には、ウイルスチェッカーが一つの疑惑の原因でしたが、私はこれを決定的に証明したことはありません。
おそらく最も簡単な方法は、中断してもう一度やり直し、次回は起こらないことを祈ることでしょう。
git rebase --abort
を使おうとすることができます。
git apply
を実行する前に、gitが実際にどのようなコミットを行おうとしていたかを知ることができます。
git rebase --continue
しかし、正直なところ、私はこれをお勧めしません。私が見た限りでは、この方法を試すと、何かを偶然に見逃したり、台無しにしたりする可能性が高いのです。
関連
-
git push reports an error ! [リモート拒否] master -> master (受信前のフックが拒否されました)
-
[解決済み] GIT_DISCOVERY_ACROSS_FILESYSTEM が設定されていない。
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] git rebase の取り消し
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] Git でファイルの一部分のみをコミットする
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] Gitブランチをmasterにマージする最も良い(そして最も安全な)方法は何ですか?
-
[解決済み】Gitバージョン管理でファイルの変更履歴を見る
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
最新
-
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 revert <hash> not allowed due to a merge but no -m option was given.
-
[解決済み】GitHubのメッセージの意味: メールのプライバシー制限のためプッシュが拒否されました。
-
[解決済み】「オリジン/マスターへのプッシュが拒否されました」というエラーが常に発生するのはなぜですか?
-
[gitコミット失敗の解決] 現在のブランチの先端が後ろにあるため、更新が拒否されました。
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push some refs to .......
-
[解決済み] リモートから<branch name>とマージするように構成が指定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] git でディレクトリ階層が異なる 2 つのブランチをマージするには?