Git Remote관련 명령어
Git clone: 원격저장소를 로컬로 복사. Git init이 필요없다.
Git clone 'remote주소' myfolder: myfolder를 만들고 거기에 remote저장소 내용을 복제 및 연결
Git fork: 원격저장소의 git을 내 프로젝트로 복사하기. 원본 소스에는 fork 카운트만 올라갈 뿐 영향을 미치지 않는다.
Git push: local의 repository에 commit을 한 후 이것을 remote저장소로 올림.
- Git push -u origin master: git push를 할 때 원격 저장(origin)의 특정 브랜치(master)를 로컬 저장소의 기본 연결 포인트로 설정. 한번만 해두면 나중에 push하면 자동으로 local의 현재 브랜치가 origin의 master브랜치로 업로드 됨
- Push 전에 꼭 pull을 먼저 해줘야 한다.(commit은 local의 git repository까지 올리는 행위이므로 commit까지는 pull전에 해도 상관없다.)
Git pull: push하기 전에 원격저장소의 내용을 local로 당겨와 merge해서 새로운 commit을 생성함.(보통 fetch대신 pull을 사용함)
- Git local브랜치와 remote브랜치가 같은 commit을 가리키게 된다.(merge되었으므로)
- Local의 git repository뿐만 아니라 working dir까지 변경내용이 적용된다.
- Pull을 하면 자동으로 merge작업이 진행되며(자동이 안되면 conflict를 내뿜음) 새로운 commit이 생성된다.
- Pull을 하여 local에서 모든 conflict를 해결 한 다음 원격으로 push를 해야 한다.
Git remote add '원격저장소명' '원격저장소 주소': 로컬저장소에 원격저장소 연결
- 일반적으로 기본 원격저장소 이름은 origin을 많이 씀. 기본 branch이름이 master인것 처럼.
- 원격저장소명은 내 로컬에서만 쓰이는 이름으로 다른 원격저장소와 구별하기 위해 사용되므로 내 마음대로 지정해도 된다.
Git remote (-v): 현재 등록된 원격저장소 정보 보기
Git push --set-upstream origin master: 현재 branch를 원격저장소(origin)의 master브랜치에 연결.
Git remote remove '원격저장소명': 연결된 원격저장소 삭제
Git fetch: remote서버의 내용을 가져올 때 사용된다. Pull처럼.(아직 merge는 하지 않은 상태)
- Git fetch를 사용하면 git diff HEAD origin/master 이렇게 코드 변경 사항을 merge전에 확인 할 수 있다.
※pull과 fetch의 차이점은 merge를 하느냐 안하느냐의 차이.
'Programming > Git' 카테고리의 다른 글
Git branch (0) | 2018.06.19 |
---|---|
Git basic (0) | 2018.06.19 |