notes
Git 으로 작업할 때 프로세스
Git으로 작업할 때의 브랜치·커밋·병합 프로세스 메모.
혼자 작업할 때도 팀으로 붙어 있을 때도, Git은 당겨 보고 → 갈라서 치고 → 올려서 합치는 순서로 가면 제일 덜 헷갈렸다. 내가 매일 돌리는 최소 루틴만 적어 둔다.
- 작업 전에 기본 브랜치를 pull하고, 기능마다 브랜치를 새로 만든다.
- add, commit으로 변경 단위를 끊어 기록하고, push한 뒤 PR로 합친다.
- 되돌릴 때는 커밋 전이면 restore나 reset, 이미 올린 커밋이면 revert를 쓴다.
일상 작업 흐름
- 코딩 시작 전에 최신을 받는다
git pull origin master원격에 새 커밋이 있으면 먼저 맞추고 시작한다. 이걸 건너뛰면 나중에 충돌을 한꺼번에 푼다.
master자리는 팀 기본 브랜치 이름(요즘은 대부분main)으로 바꿔 쓴다. - 작업용 브랜치를 판다
git checkout -b branchname또는 최근 Git이면:
git switch -c branchname기능이나 버그 단위로 이름을 짧게 두면 나중에 PR이나 히스토리 볼 때 편하다. 나는
feat/login,fix/push-badge처럼 접두어를 붙인다. - 변경을 모은다
git add .일부만 담을 땐 파일 경로를 주거나
git add -p로 조각만 고른다. - 커밋한다
git commit -m "타이틀 내용"메시지는 “무엇을 왜 바꿨는지”가 한눈에 들어오게만 적어도 충분하다.
- 원격에 올린다
git push origin branchname그다음 원격에서 PR(MR)을 열고, 리뷰가 끝나면 기본 브랜치로 합친다. 처음 올리는 브랜치는
git push -u origin branchname으로 올려 두면 다음부터git push만 쳐도 된다.
파일이 지금 어디에 있나
처음엔 add와 commit이 왜 따로인지 헷갈렸다. 파일이 네 구역을 순서대로 지나간다고 생각하면 명령이 정리된다.
처음 저장소를 잡을 때
아직 로컬에 Git이 없으면 이렇게 시작한다.
git init
git remote add origin <원격-URL>
이미 클론했다면 git clone 한 번으로 remote까지 잡혀 있어서 위 단계는 건너뛴다.
자주 쓰는 기타
- 마지막 커밋 상태로 워킹트리를 되돌리기 (주의: 커밋 안 한 변경은 사라짐)
git reset --hard실험하던 변경을 통째로 버리고 싶을 때만 쓴다. 파일 하나만 되돌릴 땐
git restore 파일명이 더 안전하고, 이미 push한 커밋은 reset 대신git revert로 되돌린다. 공유 브랜치 히스토리를 지우면 팀원들 로컬이 꼬인다.
치트시트
명령어를 더 모아 둔 페이지: Git Cheat Sheet