예제는 지난시간에 받아온 프로젝트 project를 이용하겠습니다.
1. git push / git pull
git push는 내 local에서 변경된 사항을 Remote Repository에 적용하는 것 입니다.
git pull은 remote Repository와 버전을 맞추는 것 입니다.
아래 그림과 같이 A / B가 같은 프로젝트를 한다고 가정하겠습니다.
각자의 컴퓨터에 프로젝트를 Clone 해서 현재는 버전이 동일한 상태 입니다.
그리고 A가 코드를 수정한 뒤 Remote로 Push를 하게되면? 아래 사진과 같이 됩니다.
A와 B는 서로 다른 버전을 갖게 됩니다. 이상태에서 B가 코드를 수정한 후 push하면?
Remote의 버전과 B의 버전이 맞지 않기 때문에 에러가 발생하게 됩니다.
그러면 어떡해야 할까여?
이때 B는 git pull을 받아야 합니다.
충돌이 발생하지 않는 이상 B가 git pull을 받으면 현재 코드와 자동으로 Merge가 됩니다.
이후에 다시 Push를 하면 정상적으로 반영이 됩니다.
2. git commit
commit은 무엇인가? commit은 Push하기 전 내 local에서 Remote로 push할 내용들을 저장하는 것 입니다.
A가 개발한 a기능과 b기능이 있다고 가정합니다.
1) 그러면, a기능 개발 후 commit , b기능 개발 후 commit 이런식으로 나누어 줍니다.
2) 이후 push를 하게 되면 commit한 내용들이 push가 되는 것 입니다.
git pull, commit, push의 개념을 이해하려면 먼저 아래 상태표를 알아야 합니다.
★○@!!
그림 6의 출처는 ->Git git-scm.com/book/ko/v2 입니다.
이 내용은 https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EC%88%98%EC%A0%95%ED%95%98%EA%B3%A0-%EC%A0%80%EC%9E%A5%EC%86%8C%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0 여기보다 더 잘 설명할수가 없어서 링크로 올립니다.
- 읽어보면 더이상의 설명은 필요없을듯 해서 생략 -
'IT > Git' 카테고리의 다른 글
reset, revert, stash (0) | 2020.05.03 |
---|---|
Git submodule? (0) | 2020.03.07 |
Git - tag 긋기 (0) | 2019.06.21 |
기존에 있던 프로젝트 Git으로 관리하기 (0) | 2019.05.20 |
Git 개념 - init, clone (1) | 2019.05.20 |