Git Hub 에서는 다른사람들과 함께 작업을 할 때에도 사용되기 때문에 다른사람이 commit 한 내용이 존재할경우에
push 를 시도하면 실패하게된다.
로컬 저장소의 commit 들이 원격 저장소의 commit이랑 일치해야만 push 되기 때문이다.
fetch
fetch 는 원격저장소에 있는 commit들을 로컬 저장소로 가져온다. 로컬로 가져온 commit 들을 자신이 수정한 로컬 저장소의 작업과 겹치지 않게 merge 작업 후 원격 저장소에 push 해야한다.
pull
pull 는 원격저장소에 있는 정보를 가져오면서 자동으로 merge 작업까지 수행한다.
이 작업에는 어떤 내용이 병합이 되었는지 알수가 없다.
git push 순서 (fetch)
fetch > merge > push
git push 순서 (pull)
pull > push
git commit 이력이 있을경우에 push 시도할 경우 예제)
신규 commit 이력 생성 (h3, h4 추가)
다른 저장소에서 임의 내용 추가 후 push 시도
(background-color 추가)
기존에 올린 commit 이력이 있을경우 다른 저장소에서 push 시도 할경우 에러가 뜨는 모습을 볼수있다.
commit 이력 fetch, merge 후 push 시도
위와 같이 진행 할 경우 성공적으로 push 성공하는 모습을 볼 수 있다.
(pull을 사용 할 경우 fetch/merge를 진행하지 않아도 push 가능하다.)
'Git' 카테고리의 다른 글
[Eclipse] Git Hub clone 코드 사용하기 (0) | 2023.05.11 |
---|---|
[Eclipse] Git Hub 연동 및 푸쉬 (0) | 2023.05.10 |
GitHub Repositories 연동 및 push (0) | 2023.04.19 |
Git 초기 셋팅 및 명령어 (0) | 2023.04.06 |