友達が同時に作業しているファイルを変更しました。いくつか変更を加えましたが、今はプッシュしたいのですが、最初にプルする必要があると表示されています。 git pull
、それは言う:
エラー:次のファイルに対するローカルの変更はマージによって上書きされます:マージする前に、変更をコミットするか、それらを隠してください。
中止
ファイルをマージするにはどうすればよいですか?私がそれをした場合、私の友人からのファイルは完全に変更されますか?私は彼がいくつかのものを追加し、私が私のものを追加したと確信しています。変更はどのように処理されますか?
1つのアプローチは、最初にそのファイルをコミットしてからプルすることです。
git add filename
git commit
//enter your commit message and save
git pull
別のアプローチは、変更を隠してからプルすることです。次にスタッシュを適用します。
git stash
git pull
git stash apply stash@{0}
行う git commit
その後 git pull
。最初に友達の変更を取得してから、変更をマージします。何も失われません。
変更間の競合は次のように表されます。
Here are lines that are either unchanged from the common
ancestor, or cleanly resolved because only one side changed.
<<<<<<< yours:sample.txt
Conflict resolution is hard;
let's go shopping.
=======
Git makes conflict resolution easy.
>>>>>>> theirs:sample.txt
And here is another line that is cleanly resolved or unmodified.
または、インタラクティブなマージツールを使用することもできます。