一般在push的时候是不是都会先pull一下以保证代码最新,但是如果以下场景怎么办:
A:push,但是git提示过期于是进行pull,pull之后发现有冲突,然后merge
B:在Amerge的过程向服务器push了。
A:等他merge完,在push的时候服务器又变化了,再pull - merge
.....
这样会不会导致A一直没法push?
巴扎黑2017-04-22 09:02:39
最初のマージ中に生成された競合の原因はローカルで解決されました。 他の人がプッシュしたコードがこの部分を変更しない場合、 再度マージするとスムーズに進みます。 Git が自動的に処理してくれるので、あまり心配する必要はありません。
マージ中に常に競合が発生する場合は、競合部分のコードが非常に不安定であることを意味します。 この問題を完全に解決するには、開発者同士で通信するか、何らかの方法を使用して回避する必要があります。
PHPz2017-04-22 09:02:39
この問題は 2 つの方法で解決する必要があります。 1 つ目: バージョンの違いが大きすぎる場合にのみ、プッシュする前にプルとマージを行う必要があります。ただし、マージ後、バージョンの差が大きくなければ、プッシュできます。 2 番目: 誰もが自分のブランチを保持する必要があります。まず独自のブランチにプッシュし、次にサーバーからマスターにマージします。
巴扎黑2017-04-22 09:02:39
A と B は話し合い、合意に達することができます。リベースのみを行い、マージは行いません。このようにして、歴史は 1 つの行で混乱がなく、より良く見えます。