협업의 핵심은 메인 소스코드를 건드리지 않고, 나만의 독립된 평행우주(브랜치)를 만들어 작업하는 것입니다. 작업이 끝난 브랜치를 다시 메인으로 합치는 두 가지 고급 전략의 차이를 시각적으로 완벽히 마스터합니다.
메인 코드(main)에서 가지(branch)를 뻗어 나와 안전하게 새로운 기능을 개발하고, 다시 메인 코드로 합치는 과정에 쓰이는 필수 명령어들입니다.
| 명령어 | 설명 |
|---|---|
| git branch | 현재 내 로컬에 있는 브랜치 목록을 보여주고, 현재 내가 어떤 브랜치에 있는지 * 로 표시해 줍니다. |
| git branch <이름> | 새로운 브랜치를 생성합니다. 단, 생성만 할 뿐 그 브랜치로 바로 이동하지는 않습니다. |
| git checkout <이름> 또는 git switch <이름> |
작업할 브랜치로 이동(전환)합니다. 최근에는 명확성을 위해 switch 명령어를 많이 사용합니다. |
| git checkout -b <이름> | 브랜치를 생성함과 동시에 그 브랜치로 즉시 이동합니다. 실무에서 가장 많이 쓰는 단축키입니다. |
| git merge <이름> | 현재 브랜치로 지정한 대상 브랜치의 작업 내역을 병합(합치기)합니다. (예: main에서 git merge feature 실행) |
이미 원격 저장소(GitHub)에 Push 되어 남들과 공유하고 있는 브랜치에서는 절대로 git rebase를 사용해선 안 됩니다! 히스토리의 해시값이 변경되어 다른 팀원들의 저장소와 치명적인 불일치(Conflict) 폭탄이 발생하게 됩니다.