본문 바로가기
Software/Open Source

[GIT] Remote Repository

by 리미와감자 2024. 1. 8.

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 저장소가 데이터를 주고받기 위해 pushpull을 사용한다.

 


Push

git push <저장소> <branch>: 로컬 저장소의 CommitRemote 저장소로 밀어올린다.
 
옵션
-u(--set-upstream) <저장소 이름> <branch 이름>: Remote 저장소의 Branch를 연결하고, 로컬 저장소의 CommitRemote 저장소로 밀어올린다. 처음 한번만 하면 된다(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) 같은 파일의 같은 부분에 다른 내용을 입력했을 때: 팀원과 나의 수정 내용이 충돌하는 경우

 

아래 링크의 충돌 해결하기 참고

 

'Software > Open Source' 카테고리의 다른 글

[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

댓글