김데이의 개발공부

[ TIL ] Day 16 - Git 심화 학습 본문

코드잇 Node.js(BE) 부트 캠프/TIL (Today I Learn) 📑

[ TIL ] Day 16 - Git 심화 학습

theday365 2025. 10. 17. 20:37
반응형

🗓️ 수업 일자 : 2025.10.17

✨ 오늘의 수업 평가  [ REVIEW ]  가볍게 산책하듯 배움 🏞️☁️

 

📝  오늘 배운 내용  
- git pull / git fetch / git diff

- git reset / git revert

 


 

1. Git Pull vs Git Fetch ... 그리고 Git diff

- git pull : Remote Repository에 있는 데이터를 Local Repository로 다운받은 뒤 Working Directory에 있는 파일과 merge까지 진행

- git fetch : Remote Repository에 있는 데이터를 다운 받는것은 동일하나, Working Directory에 있는 파일과 merge하지 않음

 

🤔..

🤔..

🤔..?

그럼 파일이 바뀐 내용은 어떻게 확인 한다는 걸까? 

⇒ 이때 사용 하는 것이 바로 git diff 명령어이다 ! 

 

git diff 커밋아이디1 커밋아이디2  →  선택한 커밋 2개를 비교, 다른점을 표기

git diff 브랜치명1 브랜치명 2        → 선택한 2개의 브랜치를 비교해 다른 점만 하이라이트로 알려줌 

 

따라서 내가 현재 사용하고 있는 브랜치 명이 "master"이고, remote repo의 브랜치(최신본 원격 브랜치)가 "origin/master"일 경우 

git diff master origin/master 이라고 명령어를 치면 아래와 같이 비교 한 내용이 나오게 된다

git fetch 한 내용을 git diff 명령어를 사용하여 내용 비교하기
git fetch 한 내용을 git diff 명령어를 사용하여 내용 비교하기

 

그럼 두가지를 언제 어떻게 쓰는 것이 좋을까?

- git pull을 쓰는 상황 : 팀원의 코드가 최신이라, 바로 내 작업에 반영하여야 할 때!

- git fetch를 쓰는 상황 : 팀원이 작업을 했는지 확인할 때(git fetch로 받아 온 뒤 git diff로 비교!)

 

 

2. 잘못 올라간 커밋을 취소하기 위한 방법! git revert 

- git reset : 커밋 자체를 되돌리거나 심한 경우 원본 파일의 내용을 지워버리는(원복시킴) 명령어

- git revert : 큭정 커밋의 내용을 반대로 적용한뒤 새 커밋을 만드는 명령어

git reset / git revert 그림 예시
git reset / git revert 그림 예시

 

🤔 그럼 이미 몇번의 커밋을 한 이후 특정 커밋을 지우는 것이 될까? 

⇒ 지운다기 보다는 덮어씌운다는 느낌으로 가져가야 함

 

( 이론은 이해 했으나, git revert test를 해보니 실패.. 다시 재도전 해 보겠습니다!! )

 


 

📃 내일은 뭘 배울까 🤔

- Node.js 백엔드 -  Express 시작!!

반응형