찾다

 >  Q&A  >  본문

git 向远程仓库push的问题

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

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

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

迷茫迷茫2809일 전775

모든 응답(6)나는 대답할 것이다

  • 巴扎黑

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

    첫 번째 병합 시 발생한 충돌 원인이 로컬에서 해결되었습니다. 다른 사람이 푸시한 코드로 이 부분이 바뀌지 않는다면, 다시 병합하면 원활하게 진행됩니다. Git이 자동으로 처리하므로 너무 걱정하지 마세요.

    병합 시 항상 충돌이 발생한다면 충돌하는 부분의 코드가 극도로 불안정하다는 뜻입니다. 개발자들은 이를 완전히 해결하기 위해 서로 소통하거나, 이를 우회하기 위해 어떤 방법을 사용해야 합니다.

    회신하다
    0
  • 高洛峰

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

    병합한 후에는 새 버전이 됩니다. 푸시하여 다른 버전을 찾은 후 계속해서 다른 버전을 병합하세요.

    언젠가는 밀어올릴 수 있어요.

    회신하다
    0
  • PHPz

    PHPz2017-04-22 09:02:39

    이 문제는 두 가지 방법으로 해결되어야 합니다. 첫 번째: 버전 차이가 너무 큰 경우에만 푸시하기 전에 풀 + 병합을 수행해야 합니다. 하지만 병합한 후 버전 차이가 크지 않으면 푸시할 수 있습니다. 둘째: 모든 사람은 자신만의 브랜치를 유지해야 합니다. 먼저 자신의 브랜치로 푸시한 다음 서버에서 마스터로 병합하세요.

    회신하다
    0
  • 巴扎黑

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

    A와 B는 논의하고 합의에 도달할 수 있으며 리베이스만 가능하고 병합은 불가능합니다. 이렇게 하면 역사는 한 줄로 혼돈 없이 더 좋아 보입니다.

    회신하다
    0
  • 怪我咯

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

    이런 문제가 발생하면 A와 B의 코드 커플링이 너무 심해서 작업을 다시 나누어야 한다는 뜻입니다

    회신하다
    0
  • 迷茫

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

    충돌이 있으니 그 사람과 당신 사이에 충돌이 없을 때까지 계속 병합한 다음 밀어 올리면 됩니다.

    회신하다
    0
  • 취소회신하다