[解決済み] Git はローカルブランチがリモートブランチの後ろにあると言いますが、そうではありません。
2023-06-01 21:30:31
質問
シナリオは?
-
新しいブランチを作成する
-
それをハックする
-
コミットする
-
プッシュする
-
さらにハックする
-
もう一度コミットする
-
再度プッシュしてみる
Gitが応答します。
現在のブランチの先端がリモートのブランチより遅れているため、更新が拒否されました。 など。
このブランチをハックしているのは私一人で、他の誰も触っていません。 リモートブランチは実際には の後ろにあります。 の後ろにあります。 プルする必要はまったくないはずです。
(そして、もし私がプルした場合、Gitは2つのブランチ間のコンフリクトを報告し、ブランチを自分自身にマージするよう強制します)
なぜこのようなことが起こるのでしょうか? また、どのように診断し、修正すればよいのでしょうか?
はっきりさせるために、私はどこにも分岐していませんし 誰も はそれに取り組んでいません。
Remote: Commit A -------- Commit B
Local: Commit A -------- Commit B -------- Commit C
CはBの直系であり、分岐はありません。 しかし、git は C を A のブランチだと考えています。
Remote: Commit A -------- Commit B
------- Commit C
/
Local: Commit A -------- Commit B
そうではなく、Bをそのまま継続したものです。
どのように解決するのですか?
おそらく歴史の書き換えを行ったのでしょう?あなたのローカルブランチは、サーバー上のブランチから分岐しています。このコマンドを実行して、何が起こったかをよりよく理解してください。
gitk HEAD @{u}
このエラーがどこから来ているのかを理解することを強くお勧めします。修正するには、単に実行してください。
git push -f
は
-f
は、これを「強制プッシュ」とし
を上書きします。
を上書きしてしまいます。これはチームで作業しているときには非常に危険なことです。
しかし
しかし、あなたは自分一人でやっていて、ローカルの状態が正しいことを確認しているので
これは問題ないでしょう。そうでない場合、コミット履歴を失う危険性があります。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルリポジトリのブランチをリセットして、リモートリポジトリのHEADと同じにする
-
[解決済み】既存のGitブランチをリモートブランチに追従させる?
-
[解決済み】ローカルの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 実装 サイバーパンク風ボタン
おすすめ
-
fatal: パス仕様 'readme.txt' がどのファイルにもマッチしなかった Solution
-
git のコンパイルとインストールの問題を解決する fatal: https のリモートヘルパーが見つからない
-
Gitのコミットでfatal: unable to auto-detect email addressのエラーが報告される。
-
[解決済み] gitでコミット間を前進・後退させる方法は?
-
[解決済み] チェリーピックのコンフリクトを解決するにはどうしたらいいですか?
-
[解決済み] 対話式リベースを中断する方法(--abort が効かない場合)?
-
[解決済み] .gitignoreで特定のファイルを除外する
-
[解決済み] GitHubのウェブサイト上でディレクトリやフォルダの名前を変更するには?
-
[解決済み] 非標準のポートでリモートリポジトリを使用する
-
[解決済み] Git タグリスト、コミット sha1 ハッシュの表示