[Git & Github]

작업 기록과 관련된 git 명령어

indongspace 2024. 10. 1. 18:50

 

 

diff

단독으로 사용했을때는 unstaged된 상태에서의 차이만 비교가능

staged 옵션 추가하면 staged된 상태에서 차이 비교 가능

git diff --staged

수정사항은 vscode에서 open changes 클릭해도 확인가능 

vscode의 soruce control 창에서도 확인 가능

 

git log

커밋 기록 보기 명령어이고, 커밋아이디를 확인 가능

 

git log -p

특정 커밋에 어떤 수정사항들이 있었는지도 함께 확인 가능

vscode의 source control -> commit 에서도 수정사항들 확인 가능

 

git restore

커밋되지 않은 변경사항 되돌리고 싶을때 사용하는 명령어

git add 한 뒤라면 git restore --staged 하면 unstaged상태로 되돌아감

vscode의 source control 에서도 discard changes로 복구 가능

source control에서도 stage -> unstage로 되돌리기 가능

 

git revert

명령어 + 삭제하고픈 커밋의 아이디를 복붙

revert 명령어는 커밋을 아예 되돌리는 것이 아니라,

이 커밋이 없었던 과거의 코드로 돌아가는 커밋을 남긴다 

git revert 커밋아이디 + enter -> :wq or source control에서 커밋을 해 줌

-> 로그를 확인해보면 Revert 커밋메시지 기록이 로그에 추가된 것을 확인 가능

즉, 커밋한 작업을 되돌리는 새로운 커밋을 만든 것

 

git reset

특정 커밋으로 되돌아가기

내가 돌아가고자 하는 시점의 커밋아이디를 입력해야 함

git reset 돌아가고자 하는 커밋아이디 복붙 -> unstage 상태로 돌아감

git reset 돌아가고자 하는 커밋아이디 복붙 뒤에 --옵션 설정 가능 

--mixed : 기본옵션

--soft : stage상태로 돌아감

--hard : 변경사항이 아예 사라져버림

※ 협업 상황에서는 과거로 돌아가는 행위를 주의해야 함!!!