728x90
반응형
Remote Repository
■ Remote Repository
① Remote Repository는 인터넷이나 네트워크 어딘가에 있는 저장소를 말한다.
② Remote Repository를 사용하여 다른 사람과 협업할 수 있다.
③ Remote Repository는 여러 개가 존재할 수 있다.
④ git remote: Remote Repository 목록 확인
⑤ 옵션
• -v: Remote Repository의 이름과 목록 확인
• add <저장소 이름> <url>: 로컬 저장소에 Remote 저장소를 추가한다.
• remove <저장소 이름>: 로컬 저장소를 Remote 저장소와 연결을 끊는다.
*git clone = git remote add + git pull
⑥ 로컬 저장소와 Remote 저장소가 데이터를 주고받기 위해 push와 pull을 사용한다.
■ Push
① git push <저장소> <branch>: 로컬 저장소의 Commit을 Remote 저장소로 밀어올린다.
② 옵션
• -u(--set-upstream) <저장소 이름> <branch 이름>: Remote 저장소의 Branch를 연결하고, 로컬 저장소의 Commit을 Remote 저장소로 밀어올린다. 처음 한번만 하면 된다(Tracking Connection).
* Tracking Connection 이후에는 간단히 git push, git pull Command만 입력하면 된다.
■ Pull
① git pull <저장소> <branch>: Remote 저장소의 Commit을 로컬 저장소로 당겨온다.
② git fetch <저장소> <branch>: Remote 저장소의 Commit을 로컬 저장소로 당겨오지만, 병합하지 않는다.
• pull vs fetch
pull : Remote 저장소가 로컬 저장소에 비해 더 최신 Commit이 존재할때만 사용한다.
fetch : Remote 저장소와 로컬 저장소의 변경 사항이 다를 때, 이를 비교 및 대조하는 확인 작업을 위해 사용한다. 확인 작업 진행후에, git merge 명령어를 통해 최신 Commit 내역을 반영하거나 충돌 문제를 해결한다.
pull = fetch + merge
■ 충돌 해결하기
1) pull할 것이 있는데 push하는 경우: 팀원이 먼저 push를 한 경우
• 로컬 저장소가 Remote 저장소보다 뒤쳐져 있어서 에러가 발생한다.
• 이 경우 pull을 먼저 해야 하는데, 두 가지 방법이 있다.
① merge 방식: git pull –no-rebase
② rebase 방식: git pull –rebase
• pull 완료 후 push를 한다.
2) 같은 파일의 같은 부분에 다른 내용을 입력했을 때: 팀원과 나의 수정 내용이 충돌하는 경우
아래 링크의 충돌 해결하기 참고
728x90
반응형
'Software > Tool' 카테고리의 다른 글
[GIT] Command 모음 (1) | 2024.01.10 |
---|---|
[GIT] Branch 2 (0) | 2024.01.07 |
[GIT] Branch 1 (0) | 2024.01.07 |
[GIT] Commit 되돌리기 (0) | 2024.01.05 |
[GIT] GIT 저장소에 파일 저장하기 (0) | 2024.01.02 |
댓글