본문 바로가기
기타

Git에서 실수없이 작업하려면?(git status, git diff, git checkout)

by 데분노트 2025. 4. 5.

로컬에서 push를 한 다음, 서버에서 pull로 땡겨올 때, 오류가 발생한 적이 있습니다. 그 이유는 서버에서의 코드가 일부 변경된 부분이 있어서 였습니다. 저는 서버에서 코드가 변경이 되었다는 사실을 모르고 있었습니다. 이 상황에서 pull이 동작하게 하려면 어떻게 해야할까요?

 

  • git status
  • git diff
  • git checkout {파일명}

1️⃣ git status – 지금 내 작업 상태 확인하기

git status

먼저 git status로 작업 상태를 확인해야합니다. 현재 어떤 파일이 변경되었는지, staging 상태는 어떤지 확인할 수 있어요.

On branch main Changes not staged for commit: ​​(use "git add <file>..." to update what will be committed) ‌modified: data_analysis.py

 

2️⃣ git diff – 뭐가 바뀐 건지 확인하기

git diff

다음으로 git diff로 변경된 파일의 구체적인 내용을 줄 단위로 비교할 수 있습니다.

- result = calculate_average(data) + result = calculate_median(data)

 

-는 삭제 된 내용, +는 추가된 내용을 의미합니다.

3️⃣ git checkout {파일명} – 변경사항 되돌리기

git checkout data_analysis.py

바뀐 파일과 내용을 확인하여 원래 버전으로 되돌려도 된다는 걸 확인했으면, git checkout 명령어를 통해 원래 버전으로 되돌릴 수 있습니다. 주의할점은 아직 git add 하지 않은 상태에서만 동작한다는 점입니다. 이미 git add를 해버렸다면 다음과 같은 과정을 통해 되돌릴 수 있습니다.

git restore --staged data_analysis.py # staging에서 내리기 git restore data_analysis.py # 파일 자체도 수정 전으로 복원

 

git restore과 git checkout은 수정한 파일을 원래대로 되돌리는 목적에서는 똑같은 기능을 가지므로 아무거나 사용해도 됩니다. 만약 브랜치 전환도 필요한 상황이라면 git checkout 브랜치명 으로 되돌릴 수 있습니다.

✅ 마무리 정리

명령어 역할
git status 변경된 파일 확인
git diff 수정된 내용 비교
git checkout {파일명} 파일 수정 취소 (복원)