로컬에서 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 {파일명} |
파일 수정 취소 (복원) |
'기타' 카테고리의 다른 글
GitHub 리포지토리 생성 시 선택하는 라이선스란? (1) | 2025.01.26 |
---|---|
.gitignore 이란? (0) | 2025.01.26 |
[빅분기 실기] 작업형1 문제 유형별 코드 정리 (0) | 2024.11.24 |
[빅분기 실기] 연습 사이트 총정리 (0) | 2024.11.16 |
[빅분기 실기] 작업형2 다중 분류 문제 예시 코드 (0) | 2024.11.16 |
댓글