Gitエラーの修正方法‘次のファイルに対するローカルの変更は、マージによって上書きされます’

エラーメッセージ「次のファイルに対するローカルの変更はマージによって上書きされます」がGitバージョン管理メカニズムで発生します。このエラーは、リモートリポジトリにも変更があるファイルを変更した場合に発生します。

Gitエラー:次のファイルに対するローカルの変更は、コーディング中にマージによって上書きされます

このエラーメッセージは、リモートリポジトリにも変更が加えられているコミットされていないファイルがない場合は回避されます。このメッセージが表示された場合は、他のチームメンバーに相談して、意見を求めることをお勧めします。ローカルの変更をマージする場合でも、バージョンをリポジトリに残しておく場合でも、全員を参加させることをお勧めします。

リポジトリとは何ですか?Gitのプッシュアンドプルとは何ですか?

リポジトリは、コードの一種のストレージであり、GitHubのバージョン管理メカニズムを介してチームメンバーによって絶えず変更および取得されます。「プル」は、リポジトリの最新バージョンをローカルストレージ/ PycharmなどのIDE(統合開発環境)にプルしていることを意味します。

プルの後、コードに変更を加えるか、機能を追加します。完了したら、コードをリポジトリに「プッシュ」して変更を保存し、追加を行います。コードは他の人にもアクセス可能になります。

Githubバージョン管理を初めて使用する場合は、最初にすべての基本事項を確認することをお勧めします。この記事では、すでに基本的な知識があり、すべての知識を理解していることを前提としています。

「次のファイルへのローカルの変更はマージによって上書きされます」を修正する方法?

このエラーメッセージの解決は、何をしたいかによって異なります。ローカルの変更を破棄してリポジトリ内の変更をプルするか、ローカルの変更をスタッシュに保存してリポジトリからバージョンをプルすることができます。それはすべてあなたの好みに依存します。

したがって、先に進む前に、チームメンバーに相談し、全員が同じページにいることを確認することをお勧めします。間違ってコミットしたり、間違ったバージョンをプッシュしたりすると、チーム全体に影響を与える可能性があります。

方法1:ローカルの変更を強制的にプルする

あなたがいる場合、ローカルに行われた変更を気にしないと、リポジトリからコードを取得したい、あなたはプルを強制することができます。これにより、コンピューターで行われたすべてのローカル変更が上書きされ、リポジトリ内のバージョンの複製コピーが表示されます。

IDEで次のコマンドを実行します。

git reset-ハードgitプル

これにより、すべてのローカル変更が即座に破棄されるので、自分が何をしているかを理解し、ローカル変更を必要としないことを確認してください。

方法2:両方の変更を保持する(ローカルおよびリポジトリから)

両方の変更(ローカルで行われた変更とリポジトリに存在する変更)を保持する場合は、変更を追加してコミットできます。プルすると、明らかにマージの競合が発生します。ここでは、IDEのツール(Difftoolやmergetoolなど)を使用して2つのコードを比較し、保持する変更と削除する変更を決定できます。これが中途半端です。手動で削除するまで変更は失われません。

git add $ the_file_under_error git commit git pull

マージの競合が発生したら、それらの競合解決ツールをポップして、1行ずつ確認します。

方法3:両方の変更を保持するがコミットしない

この状況は、デバッグ中の一部が壊れたコードがあるために、開発者がコミットする準備ができていない場合に時々起こります。ここで、変更を安全に隠しておき、リポジトリからバージョンをプルして、コードを復元します。

git stash save --keep-index

または

git stash
git pull git stash pop

stashをポップした後に競合が発生した場合は、通常の方法で解決する必要があります。次のコマンドも使用できます。

git stash apply

競合のために隠されたコードを失う準備ができていない場合は、popの代わりに。

マージが実行可能なオプションのように思えない場合は、リベースを行うことを検討してください。リベースとは、一連のコミットを新しいベースコミットに移動または結合するプロセスです。リベースの場合は、コードを次のように変更します。

git stash git pull --rebase origin master git stash pop

方法4:コードの「特定の」部分に変更を加える

コードの特定の部分に変更を加え、すべてを置き換えたくない場合は、上書きしたくないものすべてコミットしてから、方法3を実行できます。以下のコマンドを使用して、変更内容を変更できます。リポジトリにあるバージョンから上書きしたい:

git checkout path / to / file / to / revert

または

git checkout HEAD ^ path / to / file / to / revert

また、ファイルが次の方法でステージングされていないことを確認する必要があります。

git reset HEAD path / to / file / to / revert

次に、pullコマンドを続行します。

git pull

次に、リポジトリからバージョンをフェッチしようとします。