← 글 목록

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