312

私はやったgit pullとエラーが発生しました:

次の作業ツリー ファイルは、マージによって上書きされます... マージする前に、それらを移動または削除してください。

これを解決するために、次のことを行いました。

git fetch
git reset --hard origin/master

今私がするときgit pull、それはすべて最新だと言います。これらのコマンドを実行すると正確に何が起こるか知りたいです。git fetchローカル リポジトリにマージせずに、リモート リポジトリから変更をフェッチすることはわかっています。

とはどういう意味git reset --hard origin/masterですか? それはどのように機能しますか?

4

2 に答える 2

592
git reset --hard origin/master

発言: ステージングされた変更とステージングされていない変更をすべて破棄し、現在のローカル ブランチのすべてを忘れて、origin/master.

コマンドを実行する前に、おそらくこれを尋ねたかったでしょう。「ハードリセット」と同じ言葉を使うことで、破壊的な性質をほのめかしています。

于 2013-03-15T12:17:04.137 に答える
5

新しいバージョンの git (2.23+) では、以下を使用できます。

git switch -C master origin/master

-Cと同じ--force-createです。関連参照ドキュメント

于 2020-07-16T11:43:03.513 に答える