質問: git hub上で(リモート先で)編集を行った(GUIで)後、ローカルのリポジトリをpushできなくなりました。 どうすればよろしのでしょうか? このようなエラー文がでます。 Air:basicAply tokeshi$ git push origin master To https://github.com/syo-tokeshi/basic-app.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'https://github.com/syo-tokeshi/basic-app.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. 日本語訳するとこうなります Air:basicAply tokeshi $ git push origin master To https://github.com/syo-tokeshi/basic-app.git ![拒否]マスター->マスター(最初に取得) エラー:「https://github.com/syo-tokeshi/basic-app.git」への参照のプッシュに失敗しました ヒント:リモートにはユーザーが行った作業が含まれているため、更新は拒否されました ヒント:ローカルにはありません。これは通常、別のリポジトリのプッシュによって引き起こされます ヒント:同じ参照。最初にリモートの変更を統合することができます ヒント:(たとえば、 'git pull ...')もう一度プッシュする前。 ヒント:詳細については、「git push --help」の「早送りに関する注意」を参照してください。 Air:basicAply tokeshi$ このメッセージを表示できるのは、このリポジトリの所有者のみです。 リモートのリポジトリを編集前にすれば治るような気がするのですがどのようにすればいいのでしょうか?
回答: 作業がリモートの方が進んでいると、pushすることはできません。しかし、以下のようにfオプションをつけると強制的にpushすることができます。 ``` git push -f ``` ただし、これをやると、リモートの変更が全て失われますので、気軽にやってしまうとちょっと危険です。 そのため、こういうときは素直にpullを使い、リモートの作業をローカルに取り込みます。 ``` git pull ```