![](https://i0.wp.com/system-sutaruhin.com/wp-content/uploads/2020/04/6c12b6c4c8cb166518fd6a55ee183568-1.jpg?w=1256&ssl=1)
他の開発者とともに同じリモートリポジトリ (depot リポジトリ) を利用していれば、しばしば発生するのが Non-Fast-Forward Push 問題です。
![](https://i0.wp.com/system-sutaruhin.com/wp-content/uploads/2020/04/80d833868725704e3db31d7ef32e27e5-1.png?w=1256&ssl=1)
原因は、直接サーバを修正したようです。
non-fast-forward
は、下のような状況で言うとmaster
ブランチのリモートとローカルの最新情報が異なっていることを示す。そのため、通常のプッシュが行えず、reject
が表示される。
master a --- b --- c --- d --- e (リモート) master a --- b --- c --- d --- f (ローカル)
これで、この会社は2度目です。むかーーー!
対処法
サーバ側を正にして、変更点を手修正です。泣きそうな作業です
手動マージ作業は以外では、パソコン側でマージツール起動して解決したいのですが、pushすらできません。( ノД`)シクシク…。
(1)git pull origin master リモートの情報をローカルに持ってくる(自動的にマージも行われる) (2)git diff remotes/origin/master 現在のローカルブランチとリモートブランチの差分を表示。 マージされた分を手修正 (3) git push origin master -f 最新情報が一致するため強制のプッシュを行う
![](https://i0.wp.com/system-sutaruhin.com/wp-content/uploads/2020/04/029-2.jpg?w=1256&ssl=1)
![](https://i0.wp.com/image.moshimo.com/af-img/0866/000000029828.jpg?resize=468%2C60)