리모트 저장소
리모트 저장소란 네트워크상에 있는 저장소를 말한다. 일반적으로 프로젝트를 진행할때는 여러사람이 하나의 리모트 저장소를 기반으로 동시에 작업을 진행한다. 이번에는 이러한 리모트저장소를 관리하는 법을 알아보자.
> git clone https://github.com/schacon/ticgit
> cd ticgit
> git remote
origin
> git remote -v
origin https://github.com/schacon/ticgit (fetch)
origin https://github.com/schacon/ticgit (push)
ticgit라는 리모트 저장소를 불러왔다. 해당 폴더에 가서 git remote 명령어를 입력하면 하나의 리모트 저장소가 조회되는것을 볼 수 있다.
> 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)
git remote add 명령어를 사용하면 새로운 리모트 저장소를 추가할 수 있다.
> git fetch origin
> git pull origin
git fetch, git pull 명령어를 사용하면 리모트 저장소에 있는 변경사항을 로컬에 가져올 수 있다. git fetch는 리모트 저장소에 있는 내용을 가져오지만 이를 로컬 브랜치에 merge하지는 않는다. 하지만 git pull은 리모트 저장소에 있는 내용을 가져오고 바로 로컬 브랜치에 merge한다.
> git push origin
로컬의 변경사항을 리모트 저장소에 반영하려면 git push 명령어를 사용하면 된다.
> git remote show origin
* 리모트 origin
가져오기 URL: https://github.com/schacon/ticgit
푸시 URL: https://github.com/schacon/ticgit
HEAD 브랜치: master
리모트 브랜치:
master 추적됨
ticgit 추적됨
'git pull'에 사용할 로컬 브랜치를 설정:
master 병합: 리모트 master
로컬 레퍼런스를 'git push'로 미러링:
master에서 master(으)로 푸시 (최신 상태)
git remote show 명령어를 사용하면 리모트 저장소의 더 자셍한 내용을 볼 수 있다.
> git remote rename pn newname
> git remote remove newname
git remote rename 명령어를 사용하여 리모트 저장소 이름을 변경하고, git remote remove 명령어를 사용하여 리모트 저장소를 삭제할 수 있다.
Git 태그
> git tag
git에도 다른 VCS처럼 태그가 존재한다. 보통 v1.0.0과 같이 배포 버젼을 나타내는데 쓰인다. git tag 명령어를 사용하여 만들어진 태그들을 조회할 수 있다.
> git tag -a v1.0.0 -m "first tag"
> git show v1.0.0
...
tag v1.0.0
Tagger: nankisu <nankisu0301@naver.com>
Date: Wed Jan 18 14:36:40 2023 +0900
first tag
commit f8e82a5969bcf165e4e3797199a04bdfa79be676 (tag: v1.0.0)
Author: nankisu <nankisu0301@naver.com>
Date: Wed Jan 18 14:36:03 2023 +0900
...
> git tag v1.0.1
> git show v1.0.1
...
commit 2fbca2bacfbea659d45b8d2fccd7d19fde5ff0fa (HEAD -> master, tag: v1.0.1)
Author: nankisu <nankisu0301@naver.com>
Date: Wed Jan 18 14:37:35 2023 +0900
...
태그를 추가하려면 git tag -a 명령어를 사용하면 된다. 태그명과 메시지와 함께 태그를 추가하고 git show 명령어를 통해 자세한 내용을 조회해볼 수 있다. -a 옵션 없이도 태그를 추가할 수 있으나, 태그 생성자의 정보와 메시지가 존재하지 않는다.
> git tag -a v0.0.1 -m "init project tag" e9c6c5c83e819429fba1921f5159d93b2fcd2dc0
이전에 생성된 커밋이라도 추후에 태그를 추가할 수 있다.
> git push origin v1.0.0
> git push origin --tags
일반적인 git push 명령어로는 태그가 리모트 저장소에 공유되지 않는다. 태그를 리모트 저장소에 공유하기 위해서는 태그명과 함께 푸쉬하거나 --tags 옵션을 사용해야 한다.