한 걸음씩 기록하며
#.3 Remote 본문
1. Remote 저장소
리모트 저장소는 인터넷이나 네트워크 어딘가에 있는 저장소를 말한다. 저장소는 여러 개가 있을 수 있는데 어떤 저장소는 읽고 쓰기 모두 할 수 있고 어떤 저장소는 읽기만 가능할 수 있다.
간단히 말해서 다른 사람들과 함께 일한다는 것은 리모트 저장소를 관리하면서 데이터를 거기에 Push 하고 Pull 하는 것이다. 리모트 저장소를 관리한다는 것은 저장소를 추가, 삭제하는 것뿐만 아니라 브랜치를 관리하고 추적할지 말지 등을 관리하는 것을 말한다.
1) 리모트 저장소 확인 및 추가
- $ git remote : 현재 프로젝트에 등록된 리모트 저장소를 보여준다.
- $ git remote -v : 등록된 모든 리모트 저장소의 단축 이름과 URL을 함께 보여준다.
- $ git remote add 리모트저장소명 URL : 해당 리모트 저장소를 추가한다.
- $ git remote rename : 리모트 저장소 이름을 변경
- $ git remote remove : 리모트 저장소 삭제
- $ git remote show 리모트저장소명 : 리모트 저장소의 구체적인 정보 확인
2) push
- $ **git push** : 원격에 내 로컬 저장소를 올리는 명령어.
- $ **git push origin master : origin master에 push**
- git push --set-upstream origin master : origin master를 기본으로 셋팅
- $ git push -u origin master : 마스터를 깃 리모트 저장소(origin)에 푸쉬 (처음 푸쉬할 때)
- $ git push : 그 다음 푸쉬부터는 그냥 명령을 하면 된다.
3) clone
- $ **git clone** : 로컬에서의 git init에 해당하는 명령어. 원격에서 저장소를 최초로 가져올 때는 git pull 대신 git clone을 쓴다.
- $ git clone URL 폴더명 : 해당 Repo를 clone
- $ git clone -b 브랜치명 --single-branch 저장소URL : 특정 브랜치만 Clone
4) pull
- $ **git pull** : 리모트 저장소 브랜치에서 데이터를 가져오고, 자동으로 로컬 브랜치와 Merge 시켜준다.
- $ **git pull 리모트이름 브랜치이름** : 리모트 → 브랜치
5) fetch
- $ **git fetch** : 원격에서 업데이트된 저장소를 받아와서 로컬 저장소를 갱신하는 명령
- $ **git fetch 리모트이름 브랜치이름** : 리모트 → 브랜치
- 즉 가져오기만 할 뿐, Merge해주지 않는다. local의 master 브랜치를 가져온 커밋에 포인팅하지 않기 때문에, pull과 완전히 동일한 동작을 하기 위해서는 fast-forwarding merge를 해줘야한다.
- fetch는 pull 을 사용할 수 없는 경우에 사용하곤한다. 리모트와 로컬에서 동시에 변경 사항이 있었을 때, 바로 pull로 가져올 수 없기 때문에 fetch를 사용한다. 그러면 orgin/master가 다른 브랜치로 취급되는데, 이때 merge를 하면 모두 반영된다.
'Git' 카테고리의 다른 글
#.6 Github Flow (0) | 2021.12.22 |
---|---|
#.5 Git Flow (0) | 2021.12.22 |
#.4 branch (0) | 2021.12.22 |
#.2 Git Local 명령어 정리 (0) | 2021.12.22 |
#.1 Git 이란? (0) | 2021.12.22 |
Comments