1. 문제의 발단
- 혼자서 이것저것 연습해 보고, 씹고 뜯고 맛보고 즐긴 스플린트들이 많다.
- 이것을 다시 해보고 싶었다.
- 물론, 삭제하고 Git으로 다시 클론 하는 방법도, Ctrl + z를 연타하는 모습도 너무 없어 보인다.
- 더 멋있게 Git의 브런치들을 이용해 작업물을 넘나들면서 연습하고 더 초고수가 되어보자.
2. 브랜치
- 브랜치(Branch)는 '나무 가지'를 뜻 한다. Git의 브랜치도 나뭇가지가 뻗어 나오듯이, 각각의 줄기의 지점을 분기로 잡고 그 분기로 언제든지 돌아갈 수 있다.
- 간단하게 말하면 닥터 스트레인지의 '타임 스톤'이다. 위치만 저장을 해 놓은다면 어떤 지점의 코드로든 갈 수 있는 것이다.
- 닥터는 14,000,605개의 미래를 타임스톤으로 직접 돌아가 가속시켜 체험하고 결국 타노스와의 승리를 할 수 있는 브랜치를 찾아낸 것이다!
- 결국, 브랜치를 만든다는 것은 어떤 부분에서 문제가 생겼는지 알기 쉽고, 책임 소지가 확실하며 기존의 코드를 완전히 날려먹지 않고도 개인적으로 다른 작업을 하는 등의 장점이 있다.
3. 브랜치 명령어
- $ git branch 브랜치 이름: 새로운 브랜치를 만든다.
- $ git switch -c 혹은, $ git checkout -b 브랜치 이름: 브랜치를 생성한 후 그 해당 브랜치로 바꾼다.
- $ git branch: 브랜치들의 목록 확인
- $ git branch -d 삭재할 브랜치 이름: 브랜치를 삭제함
- $ git branch -D: 병합 되지 않은 브랜치를 강제로 삭제함.
- $ git log --branches --graph --decorate: 브랜치를 그래프로 본다.
- $ git stash: commit 하기 전의 작업들을 일단 스택에 넣어 둔다.
- 이전에는 커밋 이후, git log로 목록을 본 후에, 그 log의 코드 6글자를 복사해서 git reset 코드 6글자 --hard로 바로 돌아가는 방법을 많이 사용했다.
- 프로젝트를 진행 하게 되면 다양한 브랜치들을 만들어서 다양한 버전의 결과물들이 팀원들과 섞이게 된다면 사용하게 될 것이다!
4. rebase와 merge
- 둘 다 하는 일은 비슷하다. 두 개의 브랜치를 합쳐버린다.
- 하지만 merge는 말 그대로 합병이다. 이때까지 수정했던 이력들은 남기고 이후 남은 부분을 합친다.
- rebase는 그 브랜치가 있는 시점으로 아에 옮겨 버린다는 점이 다르다. 나머지 수정했던 이력은 남지 않는다.
'Coding > Today I Learned' 카테고리의 다른 글
2022.01.06(Thu.) <다시 처음으로 돌아가 알아보는 HTML 태그> (0) | 2022.01.07 |
---|---|
2021.09.16(Thu.) <AWS 배포의 큰 그림> (0) | 2021.09.16 |
2021.09.13(Mon.) <조금 더 알아보는 네트워크> (0) | 2021.09.13 |
2021.09.10(Fri.) <취미로라도 알아두면 좋은 컴퓨터 하드웨어> (0) | 2021.09.10 |
2021.09.09(Thu.) <취미로라도 알아두면 좋은 컴퓨터의 기초 이론> (0) | 2021.09.09 |