반응형
Tag
- 사람들은 보통 릴리즈할 때 사용
- Tag 조회
- git tag -> 이미 만들어진 Tag가 있는지 확인, 알파벳 순서
- $ git tag -l "v1.8.5*" -> 검색 패턴을 사용하여 Tag를 검색
- git show <tag> -> 태그 정보와 커밋 정보를 모두 확인
- Lightweight Tag
- 브랜치와 비슷한데 브랜치처럼 가리키는 지점을 최신 커밋으로 이동시키지 않는다.
- 단순히 특정 커밋에 대한 포인터일 뿐이다.
- 기본적으로 파일에 커밋 체크섬을 저장
- git tag <tag>
- git show 를 실행하면 별도의 태그 정보를 확인할 수 없다. 이 명령은 단순히 커밋 정보만을 보여준다.
- Annotated Tag (주석이 달린 태그)
- Git 데이터베이스에 태그를 만든 사람의 이름, 이메일과 태그를 만든 날짜, 그리고 태그 메시지도 저장
- GPG(GNU Privacy Guard)로 서명할 수도 있다.
- 일반적으로 Annotated 태그를 만들어 이 모든 정보를 사용할 수 있도록 하는 것이 좋다.
- 하지만 임시로 생성하는 태그거나 이러한 정보를 유지할 필요가 없는 경우에는 Lightweight 태그를 사용할 수도 있다.
- git tag -a <tag> <commit hash> -m "<tag message>"
- -m 옵션으로 태그를 저장할 때 메시지를 함께 저장
- ex) git tag -a v1.2 9fceb02
- git push 명령은 자동으로 리모트 서버에 태그를 전송하지 않는다. 태그를 만들었으면 서버에 별도로 Push 해야 한다.
- git push <remote-name> <tag>
- git push <remote-name> --tags -> 한 번에 태그를 여러 개 Push
- 태그가 가리키는 특정 커밋 기반의 브랜치를 만들어 작업하려면 -> git checkout -b version2 v2.0.0
- 물론 이렇게 브랜치를 만든 후에 version2 브랜치에 커밋하면 브랜치는 업데이트된다. 하지만, v2.0.0 태그는
가리키는 커밋이 변하지 않았으므로 두 내용이 가리키는 커밋이 다르다는 것을 알 수 있다. ?
Git Alias (가명)
- git config --global alias.co checkout -> git commit 대신 git ci 만으로도 커밋할 수 있다.
- ex)
- git config --global alias.br branch
- git config --global alias.ci commit
- git config --global alias.st status
- git config --global alias.unstage 'reset HEAD --'
- git config --global alias.last 'log -1 HEAD'
- git config --global alias.visual '!gitk'
- Git의 명령어뿐만 아니라 외부 명령어도 실행할 수 있다.
- ! 를 제일 앞에 추가하면 외부 명령을 실행한다.
- 커스텀 스크립트를 만들어서 사용할 때 매우 유용하다.
반응형
'개발 이야기 > Git' 카테고리의 다른 글
Git 요약 7. Remote branch, Rebase (원격 브랜치, 리베이스) (0) | 2018.09.10 |
---|---|
Git 요약 6. Branch(브랜치)란?, Merge(병합), Branch 활용법(workflow) (0) | 2018.09.05 |
Git 요약 4. 리모트 저장소(Remote Repository) (0) | 2018.09.05 |
Git 요약 3. 커밋 히스토리 조회하기, 되돌리기(Undo) (2) | 2018.09.05 |
Git 공부하는데 도움이 되는 책, 사이트 추천 (0) | 2018.09.04 |