強制的に fast-forward を使わずに git fetch を行う

新しいブランチの head が古い head の子孫ではない為に、 git fetch 失敗した場合には、次のようにして強制的に 更新することができます:

$ git fetch git://example.com/proj.git +master:refs/remotes/example/master

"+" 記号を追加していることに注意してください。代わりに "-f" を のフラグを使用し、フェッチした全てのブランチを強制的に更新することもできます:

$ git fetch -f origin

この操作により、example/master の古いバージョンが指していたコミットは紛失して しまうことに注意してください。それは、前の節で説明したとおりです。