【GIT】git pushしたら、error: failed to push some refs toとでたときの原因と対処法

複数人で思い思いにやっちゃうとまれに発生しちゃうやつです。

原因

自分がgit cloneした後に、別の誰かがそのプロジェクトにpushをしたりすると発生する。

例:
Aさんが、1/1にgit cloneしてガリガリ(まだpushはしていない)
Bさんが、1/3にgit cloneしてちょろっと書き換えてpush
Aさんが、1/4にガリガリが終わったのでpush

reject発生。(犯人探しおよびケンカが始まる)

解決策

起こってしまったものはしょうがない。
というわけでどうするか。

git pullする

git pull
自動的にfetchしてmergeされて問題なくpushできるようになる。

fetchしてmergeする

↑でやってることをわけてコマンド打つだけですね。
git fetch
git merge origin/master

fetch して rebase する

rebase で、リモートの変更の後に自分の変更を持ってくることもできる。
※rebaseってあまり詳しくないので僕は使わない(勉強不足)

そんな感じです。
下記サイトに詳しく書いててわかりやすかったです。
https://www.softel.co.jp/blogs/tech/archives/3569

今日の一言

GITは概念とかがわかっていないと本当に苦労します。

でも逆にそこから理解をしてればきっととても良いものなんだと思ってます。(まだ思ってるレベルですw)

技術系

Posted by chat