ホームページ > よくある問題 > git pull はローカルで変更されたコードを上書きしますか?

git pull はローカルで変更されたコードを上書きしますか?

zbt
リリース: 2023-06-20 17:13:44
オリジナル
9480 人が閲覧しました

Git pull はローカルで変更されたコードを上書きしますが、これはローカル コードとリモート コードの間に競合がある場合に限られます。ローカルの変更が上書きされないようにするには、ローカルの変更を送信するか、ローカルの変更を隠しておくか、自動マージを無効にすることができます。

git pull はローカルで変更されたコードを上書きしますか?

1. git pull の役割

git pull がローカルの変更を上書きするかどうかについて詳しく説明する前に、まずその役割を理解する必要があります。 git プルの。

Git pull は、git fetch と git merge の 2 つのコマンドを組み合わせたもので、リモート ウェアハウスから最新のコードをプルし、ローカル コードとマージします。

2. git pull の動作

git pull の実際の動作は、現在の git 設定とコードの競合によって異なります。

1. デフォルトの状況

デフォルトでは、ローカル コードとリモート コードの間に競合がない場合、git pull はコードのマージを正常に実行し、ローカルの変更を上書きしません。

git pull
ログイン後にコピー

2. リモート コードの競合

リモート ウェアハウス内のコードがローカル コードと競合する場合、git pull は相違点を自動的にマージしようとしますが、成功する保証はありません。

自動マージが失敗した場合、git pull は、変更をコミットする前に競合を手動で解決するように求めるプロンプトを表示します。

git pull
Auto-merging file1.txt
CONFLICT (content): Merge conflict in file1.txt
Automatic merge failed; fix conflicts and then commit the result.
ログイン後にコピー

3. ローカル コードの競合

コードをローカルで変更しても送信しないと、git pull によってローカルでの変更が上書きされます。

この場合、git pull はローカルの競合があることを示すプロンプトを表示するため、最初にローカルの変更を送信するか、ローカルの変更を隠してから、コードのマージを実行できます。

git pull
error: Your local changes to file1.txt would be overwritten by merge. 
Aborting.
Please commit your changes or stash them before you merge.
ログイン後にコピー

3. ローカル変更の上書きを回避する

ローカル変更が上書きされるのを回避するには、次の方法を使用できます:

1. ローカル変更を送信します

推奨される方法は、ローカルの変更を送信してからコードをマージすることです。

git add .
git commit -m "my local changes"
git pull
ログイン後にコピー

2. ローカル変更を隠しておく

ローカル変更を送信したくない場合は、git stash コマンドを使用してローカル変更をキャッシュできます。

git stash save "my local changes"
git pull
git stash pop
ログイン後にコピー

3. 自動マージを無効にする

場合によっては、自動マージによって予期しない結果が生じる可能性があります。 git pull コマンドの実行時に自動マージを強制的に無効にすることができます。

git pull --no-merge
ログイン後にコピー

4. 概要

git pull はローカルで変更されたコードを上書きしますが、これはローカル コードとリモート コードの間に競合がある場合に限られます。

ローカル変更が上書きされないようにするには、ローカル変更を送信するか、ローカル変更を隠しておくか、自動マージを無効にすることができます。

以上がgit pull はローカルで変更されたコードを上書きしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート