Today I Learned/git 뿌시기

(git) branch, merge 연습 (+tag)

하나719 2023. 5. 24. 18:16
반응형

정말 오랜만에 다시 깃을 사용해보게 되었다.

이전에 아주아주 기초적인걸 조금 공부해두었는데, 이번에는 깃으로 편하게 프로젝트를 관리할 수 있게 되는게 목표이다.

 

git은 한마디로 코드의 버전관리를 도와주는 툴인데 개발자를 위한 툴이어서 그런지, 사용방법도 논리적인 구조로 짜여있어 개발을 처음 접하는 사람이 바로 이해하기에 어려운 부분이 있는것 같다.

 

그래서 유튜브에서 여러 영상을 찾아보다가 아주 쉬운 설명을 찾아서 이 영상으로 실습해본 내용을 남겨두려고 한다.

https://www.youtube.com/watch?v=oQ4kT8KhRY8

[참고] 유뷰트-코드종

 

1. face라는 폴더를 만들고, 해당 폴더에 git repository를 생성해준다. (git init) 

아직 폴더가 비어있는 상태이다. 

git으로 추적이 가능한 상태.

2. 폴더에 "얼굴" 을 만들어서 넣어준다. 

폴더에 맨 얼굴이 그려진 상태이다. (face.txt 안에 내용이 없는 상태) 

3. 변경된 내용을 commit 해준다.

첫 변경사항에 대한 기록이 생겼고, 고유 주소가 생겼다. (해시 -> 영상속 H34FC이며 각자의 로컬에서의 값은 다르다.)

*master는 처음 커밋으로 생긴 포인터이고 main 포인터로 사용된다. 

*HEAD는 작업중인 브랜치를 가리키는 포인터

4. 얼굴에 눈, 입 그리고 수정사항을 commit 해준다.

  • 명령어
    • 파일 편집 열기: vim face.txt 
    • insert모드로 변경: 키보드 i 입력해서 파일 수정후 esc , :wq 로 파일 종료
    • 변경사항 commit: git commit -a -m "eye mouse commit" 

graph 확인

5. 1차 배포 하고 내용 고정! (tag, 부가내용이라 일단 넘어가도 됨) 

tag도 포인터인데, 변하지 않고 특정 주소를 계속 가리키고 있음

특정 버전을 기억하는 용도!

예를들어 v1.0버전을 배포하고 기록해두었는데 이게 변경되어서 v1.0이 다른 상태로 기록되면 안됨 -> tag로 고정기록!

6. 헤어스타일을 다른 버전으로 만들어보기 위해 분기를 만든다. (branch)

  • git branch yondu 

새로운 포인터 yondu 생겼지만 아직 동일한 주소 가리키고 있음

7. 얼굴에 머리카락, 수염 추가하기 

위에서 파일 편집하고 커밋한 방법과 동일하게 진행 

욘두 브랜치는 아직 얼굴, 눈, 입 상태에 있고 master가 가리키는 버전에서 머리카락과 수염이 추가됨 

8. 욘두 버전 만들기위해 해당 브랜치로 이동

아까 눈이랑 입만 있던 얼굴에 욘두버전으로 헤어를 만들어주기 위해, 욘두버전 브랜치로 이동 

9. 욘두 머리 그려서 추가해준다.

 

yondu 브랜치 가리키는 상태일때 txt 파일은 욘두로 되어 있음

10. 수염을 추가한 버전으로 돌아가보자 (checkout)

git checkout master 로 수염달린 버전으로 이동해줬더니, face.txt 파일이 변경되었다. 

반응형