ブランチで作業しているときに、変更するファイルがいくつかあります。同僚の 1 人が、差し迫った問題を修正するためにプルする必要がある変更をプッシュしたと言っています。変更をコミットしないと、git はプルできません。私が変更したファイルはどれも更新されていませんが。
これがなぜなのか疑問に思っています。可能であれば、これを回避する方法はありますか?
ブランチで作業しているときに、変更するファイルがいくつかあります。同僚の 1 人が、差し迫った問題を修正するためにプルする必要がある変更をプッシュしたと言っています。変更をコミットしないと、git はプルできません。私が変更したファイルはどれも更新されていませんが。
これがなぜなのか疑問に思っています。可能であれば、これを回避する方法はありますか?
git pull
基本的には、フェッチとそれに続くマージです。マージでは通常、作業ディレクトリがクリーンな状態である必要があります。彼らはあなたの安全のためにそれをします:
警告:コミットされていない変更を使用してgit mergeを実行することはお勧めしません。可能ではありますが、競合が発生した場合に元に戻すのが難しい状態になります。(ソース)
と:
リモートの変更のいずれかがローカルのコミットされていない変更と重複する場合、マージは自動的にキャンセルされ、作業ツリーは変更されません。一般に、git-stashを使用してローカルの変更をプルまたはスタッシュする前に、ローカルの変更を正常に機能させるのが最善です。(ソース)
git merge
純粋なチェックは実際にはより寛容であると私は信じているgit pull
ので、最初にフェッチしてから手動でマージしてみることをお勧めします。しかし、最初に物を隠しておくことは常に良い考えです。