検索

ホームページ  >  に質問  >  本文

git 向远程仓库push的问题

一般在push的时候是不是都会先pull一下以保证代码最新,但是如果以下场景怎么办:

A:push,但是git提示过期于是进行pull,pull之后发现有冲突,然后merge
B:在Amerge的过程向服务器push了。
A:等他merge完,在push的时候服务器又变化了,再pull - merge
.....

这样会不会导致A一直没法push?

迷茫迷茫2800日前754

全員に返信(6)返信します

  • 巴扎黑

    巴扎黑2017-04-22 09:02:39

    最初のマージ中に生成された競合の原因はローカルで解決されました。 他の人がプッシュしたコードがこの部分を変更しない場合、 再度マージするとスムーズに進みます。 Git が自動的に処理してくれるので、あまり心配する必要はありません。

    マージ中に常に競合が発生する場合は、競合部分のコードが非常に不安定であることを意味します。 この問題を完全に解決するには、開発者同士で通信するか、何らかの方法を使用して回避する必要があります。

    返事
    0
  • 高洛峰

    高洛峰2017-04-22 09:02:39

    マージ後は新しいバージョンになります。プッシュで他のバージョンが見つかった後、別のバージョンのマージを続けます。

    いつか押し上げることができます。

    返事
    0
  • PHPz

    PHPz2017-04-22 09:02:39

    この問題は 2 つの方法で解決する必要があります。 1 つ目: バージョンの違いが大きすぎる場合にのみ、プッシュする前にプルとマージを行う必要があります。ただし、マージ後、バージョンの差が大きくなければ、プッシュできます。 2 番目: 誰もが自分のブランチを保持する必要があります。まず独自のブランチにプッシュし、次にサーバーからマスターにマージします。

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-22 09:02:39

    A と B は話し合い、合意に達することができます。リベースのみを行い、マージは行いません。このようにして、歴史は 1 つの行で混乱がなく、より良く見えます。

    返事
    0
  • 怪我咯

    怪我咯2017-04-22 09:02:39

    このような問題が発生した場合は、AとBの間のコード結合が多すぎるため、再分割する必要があることを意味します

    返事
    0
  • 迷茫

    迷茫2017-04-22 09:02:39

    競合があるので、彼とあなたの間に競合がなくなるまでマージを続けてください。その後、それを押し上げることができます

    返事
    0
  • キャンセル返事