안녕하세요!
Git 명령어 종합 연습문제 네번째 시간입니다.
그럼 시작 하겠습니다.
출처: learngitbranching
Git 태그
- 정의
- 프로젝트의 주요 릴리즈나 큰 브랜치 병합(merge)처럼 중요한 지점들에 영구적으로 표시를 하기 위해 git tag를 씁니다.
- 특정 커밋들을 브랜치로 참조하듯이 영구적인 "milestone(이정표)"으로 표시합니다.
- Git 태그는 커밋들이 추가적으로 생성되어도 절대 움직이지 않는다
- 커밋 과는 다르게 태그는 "체크아웃"한 후에 그 태그에서 어떤 작업을 완료할 수 없고 읽기만 가능합니다.
- 태그는 커밋 트리에서 특정 지점을 표시하기위한 닻같은 역할을 합니다.
출처: https://dololak.tistory.com/348 [코끼리를 냉장고에 넣는 방법]
- 브랜치
브랜치는 작업의 완료, 진행에 따라 이리저리 이동하면서 서로 다른 커밋을 참조하게 됩니다. 브랜치는 쉽게 변하며 임시적인 것이어서, 항상 변합니다.
실습
프로토타입의 첫 버전인 C1에 태그 만들기
![](https://velog.velcdn.com/images%2Fhhsk1500%2Fpost%2F28253f7f-bf01-406c-9ee4-9cbdcebf84ec%2Fimage.png)
결과 화면
![](https://velog.velcdn.com/images%2Fhhsk1500%2Fpost%2F2a638246-c8ba-4770-8441-3d126f558b83%2Fimage.png)
연습문제 풀기
연습문제 결과 화면
![](https://velog.velcdn.com/images%2Fhhsk1500%2Fpost%2F6bf236ac-8008-4ffe-a81e-0ef45fa36673%2Fimage.png)
문제
![](https://velog.velcdn.com/images%2Fhhsk1500%2Fpost%2F5bf5420f-2e54-43c9-8d4c-8ea512089e3c%2Fimage.png)
c2에 v1태그 생성
![](https://velog.velcdn.com/images%2Fhhsk1500%2Fpost%2F5934a52c-9e98-4131-98d0-ed56d0e6963f%2Fimage.png)
c1에 v0태그 생성
- 명령어: git tag v0 side~2
![](https://velog.velcdn.com/images%2Fhhsk1500%2Fpost%2Ff8bbed29-3305-4c40-b782-76253147db89%2Fimage.png)
c2로 체크아웃 하기
- 명령어: git checkout v1
- 여기서 c2로 체크아웃하는 방법은 여러가지 있으나 v1태그를 사용하여 체크아웃을 했습니다.
![](https://velog.velcdn.com/images%2Fhhsk1500%2Fpost%2F7c1c84bf-8d63-43d5-8c2f-829072d7fd3c%2Fimage.png)