「git pull」でローカルファイルを上書きするにはどうすればいいですか? 質問する

「git pull」でローカルファイルを上書きするにはどうすればいいですか? 質問する

ローカル ファイルを強制的に上書きするにはどうすればよいですかgit pull? ローカル リポジトリには、サーバー上のファイルと同じファイル名のファイルが含まれています。

エラー: 追跡されていない作業ツリー ファイル 'example.txt' はマージによって上書きされます

ベストアンサー1

⚠ 警告:

追跡されたファイルに対するコミットされていないローカルの変更は、ステージングされていても失われます

ただし、 Git によって追跡されていないローカル ファイルは影響を受けませ


まず、すべてのorigin/<branch>参照を最新のものに更新します。

git fetch --all

現在のブランチをバックアップします (例master):

git branch backup-master

最新のコミットにジャンプしてorigin/master、それらのファイルをチェックアウトします。

git reset --hard origin/master

説明:

git fetchマージやリベースを試みることなく、リモートから最新のものをダウンロードします。

git resetマスター ブランチを、取得した内容にリセットします。この--hardオプションは、作業ツリー内のすべてのファイルを のファイルと一致するように変更しますorigin/master


現在のローカルコミットを維持する

[*] : リセット前のブランチを作成することで、現在のローカルコミットを維持できることは注目に値しますmaster

git checkout master
git branch new-branch-to-save-current-commits
git fetch --all
git reset --hard origin/master

この後、古いコミットはすべて に保存されますnew-branch-to-save-current-commits

コミットされていない変更

コミットされていない変更は、ステージングされていても( を使用してgit add)失われます。stash必要なものは必ず またはコミットしてください。たとえば、次を実行します。

git stash

そして後で( の後にgit reset)、コミットされていない変更を再適用します。

git stash pop

マージの競合が発生する可能性があります。

おすすめ記事