[解決済み] リベース後にGitブランチが分岐した
2022-04-27 13:03:01
質問
既にプッシュされているブランチをローカルにリベースしました。
Git は、私のブランチとリモートが分岐しているため、次のように通知しています。
それぞれ 109 と 73 の異なるコミットがあります"。
私のブランチをプッシュすれば解決するのでしょうか?
解決方法は?
ブランチをリベースする際には、リベース先のブランチのコミットよりも上位にあるコミットをすべて書き直さなければなりません。これは、コミットのプロパティのひとつがその親であるためです。リベースすると、ブランチ上でもっとも古いローカルコミットの親を変更することになります。この変更はコミット全体に波及するので、すべてのローカルコミットのコミットハッシュを変更することになります。
すでにブランチをプッシュしていたのですから、リベースするのではなくソースブランチにマージするべきだったのです。新しいブランチを "強制的にプッシュすることは可能です (
-f
しかし、通常のプッシュではうまくいきません。ブランチの履歴の整合性が損なわれてしまうからです。このブランチで他の人と共同作業をしている場合、強制プッシュをするのはよくありません。
TL;DR - 共同研究をしていないのなら、push -f を使ってブランチをプッシュしてください。共同作業をしている場合は、ブランチを以前の状態に戻し、代わりにソースブランチをマージしてください。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] git rebase の取り消し
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Git:コミットに何も追加されていないが、未追跡のファイルが存在する
-
[解決済み】gitがローカルバージョンをリモートバージョンに置き換える
-
[解決済み] git pull リモートブランチがリモートの参照先を見つけることができない
-
[解決済み】fatal: 有効なオブジェクト名ではない: 'master'
-
[解決済み】git rev-parseは何をするのですか?
-
[解決済み】Githubの認証に失敗した - ... GitHubはシェルアクセスを提供しない
-
[解決済み】gitが「変更をコミットするか、マージする前にstashしてください」と言うのを解決するには?
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push some refs to .......
-
[解決済み】ローカルGitブランチとそのリモートブランチを比較する方法
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能