一般在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
이 문제는 두 가지 방법으로 해결되어야 합니다. 첫 번째: 버전 차이가 너무 큰 경우에만 푸시하기 전에 풀 + 병합을 수행해야 합니다. 하지만 병합한 후 버전 차이가 크지 않으면 푸시할 수 있습니다. 둘째: 모든 사람은 자신만의 브랜치를 유지해야 합니다. 먼저 자신의 브랜치로 푸시한 다음 서버에서 마스터로 병합하세요.
巴扎黑2017-04-22 09:02:39
A와 B는 논의하고 합의에 도달할 수 있으며 리베이스만 가능하고 병합은 불가능합니다. 이렇게 하면 역사는 한 줄로 혼돈 없이 더 좋아 보입니다.