herohoroブログ

PushしようとしたらremoteのcommitとConflictを起こしてエラーになる



🔄   2024-05-17

1人でやっていてもよくなるエラー。

ディスクトップPCで作業をしてpushしてたことを忘れ、数日後ノートPCを開き、remoteからの取り込みをせずに作業を進めpushしたときになるエラー。

ちゃんと覚えておきたいから、残しておこう💡

pullを使う

git pullを使って、リモートの変更をローカルに取り込んでから、必要に応じて手動で競合を取り除く。

git pull origin main

localとremote branchが分岐してる時

どうやってくっつけるかを考える。

  • merge: ローカルの変更とリモートの変更をくっつけるのに新しいコミットを作る。
    • ブランチの履歴が維持される
    • 履歴が線形ではなくなることがある
  • rebase: ローカルブランチの変更をリモートブランチの先頭にくっつける。
    • 履歴が線形に保たれる
    • 既存のコミットが新しいコミットに置き換えられので、履歴が改変される
  • fast-forward: ローカルブランチがリモートブランチの変更に遅れている場合にのみ有効。
    • ローカルブランチをリモートブランチの状態に「追いつかせる」形でくっつける。

merge
git pull --no-rebase
image block
rebase
git pull --rebase
image block
fast-forward
git pull --ff-only

まとめ

もうこれで、ノートPCから作業した分を戻して取り込まなくても大丈夫✌


Xではたま〜にする更新のお知らせを行っています

興味ある方はLet'sフォロー★

▼ この記事に興味があったら同じタグから関連記事をのぞいてみてね

Buy Me A Coffee

新着記事を通知したい??


RSSリーダーにatomのリンクを登録すると通知が行くよ🐌

https://herohoro.com/atom

やってみてね(*´ω`*)(*´ω`*)

Twitter Timeline


フォロー大歓迎\(^o^)/