リモートの非ベア「メイン」リポジトリをセットアップし、それをコンピューターに複製しました。ローカルで変更を加え、ローカルリポジトリを更新し、変更をリモートリポジトリにプッシュしました。それまでは大丈夫でした。
今、私はリモートリポジトリで何かを変更する必要がありました。次に、ローカルリポジトリで何かを変更しました。リモートリポジトリへの変更は必要ないことに気づきました。git push
そのため、ローカルリポジトリからリモートリポジトリに移動しようとしましたが、次のようなエラーが発生しました。
履歴が失われるのを防ぐために、早送り以外の更新は拒否されました。もう一度プッシュする前に、リモートの変更をマージしてください。詳細については、の「早送りに関する注意」セクション
git push --help
を参照してください。
たぶん
git push --force
ローカルコピーに変更をリモートコピーにプッシュして同じにするように強制します。強制的に更新されますが、リモートリポジトリに戻ってコミットすると、ファイルに古い変更(メインのリモートリポジトリに以前あった変更)が含まれていることがわかります。
答えの1つへのコメントで述べたように:
[私は]強制しようとしましたが、変更を保存するためにマスターサーバーに戻ると、古いステージングが発生します。したがって、私がコミットするとき、リポジトリは同じではありません。そして、もう一度git pushを使おうとすると、同じエラーが発生します。
この問題を解決するにはどうすればよいですか?