[기타/Git] 리모트 저장소 / ⭐branch, merge⭐
리모트 저장소
리모트 저장소를 관리할 줄 알아야 다른 사람과 함께 일할 수 있다.
리모트 저장소는 인터넷이나 네트워크 어딘가에 있는 저장소를 말한다.
리모트 저장소 확인하기
git remote 명령으로 현재 프로젝트에 등록된 리모트 저장소를 확인할 수 있다.
이 명령은 리모트 저장소의 단축 이름을 보여준다.
저장소를 Clone 하면 origin 이라는 리모트 저장소가 자동으로 등록(또는 직접 remote 지정했던 이름)
되기 때문에 origin 이라는 이름을 볼 수 있다.
-v 옵션을 주어 단축이름과 URL을 함께 볼 수 있다.
$ git remote
>> origin
$ git remote -v
>> origin git@github.com:mojombo/grit.git (fetch)
>> origin git@github.com:mojombo/grit.git (push)
리모트 저장소 추가하기
기존 워킹 디렉토리에 새 리모트 저장소를 쉽게 추가할 수 있는데 git remote add <단축이름> <url> 명령을 사용한다.
$ git remote add pb https://github.com/paulboone/ticgit
$ git remote -v
>> origin https://github.com/schacon/ticgit (fetch)
>> origin https://github.com/schacon/ticgit (push)
>> pb https://github.com/paulboone/ticgit (fetch)
>> pb https://github.com/paulboone/ticgit (push)
리모트 저장소를 Pull 하거나 Fetch 하기
git fetch origin 명령을 실행하면 Clone 한 이후에(혹은 마지막으로 가져온 이후에) 수정된 것을 모두 가져온다.
git fetch 명령은 리모트 저장소의 데이터를 모두 로컬로 가져오지만, 자동으로 Merge 하지 않는다.
따라서, 로컬에서 진행한 작업은 수동으로 merge 해야 한다.
$ git fetch <remote>
git pull 명령은 Clone 한 서버에서 데이터를 가져오고 그 데이터를 자동으로 현재 작업하는 코드와 Merge 시킨다.
자동으로 merge를 하기 때문에 충돌이 발생할 수 있다.
$ git pull origin master
리모트 저장소에 Push 하기
프로젝트를 공유하고 싶을 때 Upstream 저장소에 Push 할 수 있다. (해당 저장소에 push 권한이 필요)
$ git push origin master
리모트 저장소 살펴보기
git remote show <리모트 저장소 이름> 명령으로 리모트 저장소의 구체적인 정보를 확인할 수 있다.
$ git remote show origin
리모트 저장소 이름을 바꾸거나 리모트 저장소를 삭제하기
git remote rename 명령으로 리모트 저장소의 이름을 변경할 수 있다.
예를 들어 pb 를 paul 로 변경하려면 git remote rename 명령을 사용한다.
$ git remote rename pb paul # pb를 paul로 변경
$ git remote
origin
paul
$ git remote remove paul # 삭제
$ git remote
origin
Git - 리모트 저장소
원격 저장소라 하더라도 로컬 시스템에 위치할 수도 있다. “remote” 저장소라고 이름이 붙어있어도 이 원격 저장소가 사실 같은 로컬 시스템에 존재할 수도 있다. 여기서 “remote” 라는 이름은
git-scm.com
branch 관련 내용
Git - 브랜치란 무엇인가
3.1 Git 브랜치 - 브랜치란 무엇인가 모든 버전 관리 시스템은 브랜치를 지원한다. 개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생긴다. 코드를 통째로 복사하고 나서 원래 코드와
git-scm.com
branch, merge
Git - 브랜치와 Merge 의 기초
Merge 시에 발생한 충돌을 다루는 더 어렵고 요상한 내용은 뒤에 고급 Merge 에서 다루기로 한다.
git-scm.com
Remote branch
Git - 리모트 브랜치
“origin” 의 의미 브랜치 이름으로 많이 사용하는 “master” 라는 이름이 괜히 특별한 의미를 가지는 게 아닌 것처럼 “origin” 도 특별한 의미가 있는 것은 아니다. git init 명령이 자동으로 만들
git-scm.com
branch rebase
https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-Rebase-%ED%95%98%EA%B8%B0
Git - Rebase 하기
Git에서 한 브랜치에서 다른 브랜치로 합치는 방법으로는 두 가지가 있다. 하나는 Merge 이고 다른 하나는 Rebase 다. 이 절에서는 Rebase가 무엇인지, 어떻게 사용하는지, 좋은 점은 뭐고, 어떤 상황에
git-scm.com