2017-11-23 5 views
0

2つの異なるマシンで変更があり、それぞれが異なっています。競合することなくリモートのorigin/masterにどのようにプッシュできますか?Git - 2つのローカルマシンからマスターに変更をプッシュ

Local machine 1: changes A, B, C 
Local machine 2: changes A, B, C 
+2

1台のマシンを押し、もう一方のマシンを引っ張って(合併)、もう一方のマシンを押して、最初のマシンを引きます。 – neuhaus

+0

私は最初のマシンから変更をコミットし、次にanohterから引き出す必要があります。私はこれを試しましたが、私は競合しています。 – harunB10

答えて

1

を変更は間のない競合を持っている場合:私は、私が持つことができるリモート・マスターにプッシュして、バックの両方のマシンに引き出すことができますどのように

Local machine 1: changes A, B 
Local machine 2: changes C 

私はこれを持っていますこの歴史を得るには問題はありません。

機1から:

git push --set-upstream origin master 

そしてマシン2に:あなたは--rebaseずにgitのプルを実行した場合

git pull --rebase 

あなたのマージがこれを取得し、あなたの履歴にコミットしています:

ローカルマシンX:変更A、B、マージコミット、C

1

あなたはすべての変更がコミットされていると仮定すると、マシン2上のレポへのリモートアクセスを持っている場合(A、B、およびC既存のコミットされている):

マシン1上:

  • フェッチとマージマシン2からの変更は:あなたが、競合を取得し、それらを解決し、生産するために行く場合git checkout master && git pull machine2 masterマージは、必要に応じて
  • をコミットしていることを確認し
  • (私はあなたが両方のマシンでmasterにコミットしていると仮定しています、それはそれのように聞こえました)すべての機能あなたのマスターを更新

    • git push origin master

    マシン2上:git pull origin master

yのマージがリモートにコミットマシン1回の
  • プッシュで動作し、A、B、およびCで実装

    A、B、Cの変更によって同じものが変更された場合、「競合なし」は不可能です。あなたが個人的にそれを調べなければならない場合には、Gitはあなたのためにそれをしたくない場合は解決可能な葛藤を解決する際に驚くべき仕事をします。

  • 関連する問題