git の [rejected] master -> master (non-fast-forward) の対処法2017年09月14日 10時55分03秒

git push と git pull を繰り返しているうちに、手元の git レポジトリと共有元の履歴が合わなくなるときがある。変更履歴が手元の複製と共有用で変わってしまった場合だ。そんなときに、pig push をすると以下のようなエラーが出る。
% git push
[rejected] master -> master (non-fast-forward)

共有用を常に元として作業をするようにしているので、このような状況に陥ったときは、手元のものを共有用と同じ状態にしたい。

% git rebase origin master
とすると origin、つまり手元の履歴を rebase できる。これで、共有用の履歴に合わせることが出来る。