← 전체 글로 돌아가기

Git

git pull 전에 local 변경사항을 먼저 보기

git pull을 하기 전에 현재 있는 변경사항을 먼저 확인하는 습관이 충돌을 줄인다.

왜 먼저 봐야 할까

git pull은 무해해 보이지만 생각보다 위험하다. 특히 협업 프로젝트에서는 더 그렇다.

당신이 로컬에서 파일을 수정 중인데 remote에서도 같은 파일을 수정했다면? pull을 바로 하면 merge conflict가 생긴다.

더 나쁜 경우도 있다. 일부러 추적 제외한 파일(.env, config.local.js)을 다른 사람이 수정했을 때다. pull 중에 충돌이 일어나면 복잡해진다.

먼저 확인하는 습관

pull을 하기 전에:

git status

이 명령어는 현재 상태를 보여준다:

  • 수정했지만 스테이징되지 않은 파일
  • 스테이징된 파일
  • 추적되지 않는 파일

변경사항이 있을 때

변경사항이 있으면 선택지는 두 가지다.

1. 변경사항을 커밋하기

git add .
git commit -m "WIP: 진행 중인 작업"

이후 pull:

git pull

만약 충돌이 생기면 명확하게 보인다.

2. 변경사항을 임시 보관하기

git stash
git pull
git stash pop

stash는 현재 변경사항을 임시 보관했다가 나중에 복원한다.

Diff로 상세히 보기

변경사항이 정확히 뭔지 알고 싶으면:

git diff

특정 파일만 보려면:

git diff <filename>

내 실수

처음에는 이런 확인 없이 무작정 pull했다가 몇 번 충돌을 겪고 나서야 습관을 들였다. 지금은 pull 전에 status를 보는 게 조건반사처럼 된다.