티스토리 뷰

✔️ git checkout

git checkout [커밋해시]

: 헤드를 브랜치에서 분리(Detached HEAD)커밋을 참조하도록 하는 것

커밋해시는 git log (--oneline)으로 확인가능!

❗ git switch 명령어로 다시 브랜치로 돌아갈 수 있음

git switch -

↑ 내가 떠났던 브랜치로 돌아감

 

🙋🏻‍♀️ 그럼 checkout 상태에서는 뭘 할 수 있죠?

💡 커밋을 둘러보고, 파일을 확인하고, 뭔가를 복사해서 어딘가로 갖고 가는 것 등 (관찰)

 

🙋🏻‍♀️ 전 예전 커밋으로 돌아가서 다시 시작하고 싶은데요?

💡 git checkout 명령어로 (1)이전 커밋으로 돌아가서 (2)새로운 브랜치를 만들고 (3)새로 작업하기!

 

git checkout HEAD~n

: HEAD에서 n개 이전 커밋을 참조

 

git checkout HEAD [파일명]
git checkout -- [파일명]

: 작업을 많이 했는데(아직 변경사항 커밋X), 그냥 마지막 커밋으로 되돌리고 싶을 때 사용!

 

 

✔️ git restore - 작업 실행 취소

git restore [파일명]

: 마지막 커밋 이후의 변경 사항을 취소

❕ 커밋되지 않은 변경 사항을 제거하는 것은 확실한 경우에만! (변경사항을 잃어버리면 깃에는 기록이X)

 

git restore --source HEAD~n [파일명]
git restore --source [커밋해시] [파일명]

: 해당 파일을 해당 커밋 상태로 변경 (분리된 헤드X but 파일은 변경됨!)

🙋🏻‍♀️ 만약 다시 원래대로 돌아가고 싶다면??

💡 git restore [파일명]으로 다시 돌아가기!

 

git restore --staged [파일명]

: 스테이징 된 파일을 언스테이징하기!

 

 

✔️ git reset - 저장소를 특정 커밋으로 재설정

git reset [커밋해시]

: 커밋만 리셋, 변경사항은 여전히 워킹 디렉토리에!

❕잘못된 브랜치에서 커밋 했을 때 유용 (작업 유지 + 다른 브랜치로 이동)

 

git reset --hard [커밋해시]

: 커밋 + 변경사항 모두 리셋

❕브랜치 기준으로 작동 (내가 없앤 커밋에 대해 알고 있는 모든 브랜치에서 이 커밋을 제거한 것이 아님!)

 

 

✔️ git revert

git revert [커밋해시]

 

🙋🏻‍♀️ reset과 revert 뭐가 다르죠?

💡 reset(재설정)은 커밋을 완전히 제거하고 브랜치 포인터를 뒤로 이동! (커밋이 처음부터 존재하지 않았던 것처럼!)

💡 revert(되돌리기)는 새로운 커밋을 만들고, 그 새로운 커밋에서 이전 커밋의 변경 사항을 취소 ← 협업할 때 사용!!

 

'버전관리' 카테고리의 다른 글

[GitHub] Fetch와 Pull  (0) 2023.07.09
[GitHub] 깃허브의 기초  (0) 2023.07.09
[Git] 스태시(Stash)의 모든 것  (0) 2023.07.08
[Git] Git Diff로 변경사항 비교하기  (0) 2023.07.08
[Git] 브랜치 병합하기  (0) 2023.06.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함