git_part5.4_git push & pull

Eugenius1st·2022년 1월 24일
0

git

목록 보기
28/35

협업 git push & pull

협업의 상황에서 일어날 수 있는 경우의 수들을 다뤄보자


먼저 원격 저장소에 push한 상태이다

원래는 오른쪽에서 pull한 후 작업해야하는데 그것을 안하고 작업한 후 버전을 만든다면?



각각의 상태는 이러하다.
왼쪽이 이미 최신 버전을 올려놓은 상태이다.

이 상황에서 b가 git push한다면?

reject : 다른 사람이 작업한 것을 자신의 것으로 가져오지 않았다.

다른사람의 것을 자신의 것으로 가져오고 하나이 타임라인으로 정리정돈 한 후에 다시 push 시도하십시오.

이때 Pull하면


왼쪽과 오른쪽이 같은 줄을 수정했으므로


에러가 났다는 것을 볼 수 있다.

자동으로 수정하고 싶다면

merge tool을 사용하면 되고,
수동으로 수정하고 싶다면


직접 열어서 수정하면 된다.

차이점 비교하는 ======아래 내용을 지우면 된다.

이후 충돌 해결한 후

add 해주고 commit하면 충돌했던 사실을 git이 알기 때문에 commit 메세지를 알아서 자동으로 만들어 줄 것이다,.

git l을 해보면 방금 추가한 커밋이 만들어 진 것을 볼 수 있다.


이렇게 하면 왼 오 (ab)에서 수정한 것을 동시에 갖는 부모인 새로운 버전이 생성된다.

그럼 이렇게 만든 새로운 버전을 git push하게 되면, 원격저장소로 병합된 커밋이 올라가게 되고, 이것은 작업 전에 pull을 통해 원격저장소에서 가져오고 작업을 하면 될 것이다. 이렇게 하면 왼쪽과 오른쪽의 버전 상태가 똑같아 지게 될 것이다.

<교훈>

최대한 작업을 빨리하고 push 를 자주 해야지만 충돌을 막을 수 있을 것이다

그리고 작업 전에 반드시 pull을 통해 혹시 다른 사람이 업데이트 한것을 없는지 확인하는 것이 좋은 습관이다.

이런 특성을 통해 사람들은 push 와 pull 을 자주하게 하고,
이것은 곧 커뮤니케이션을 활발하게 하는 장치이다.

profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글