관리 메뉴

흰둥씨의 개발장

[git] restore / revert / reset 본문

[오늘의 공부]/git

[git] restore / revert / reset

돈워리비해삐 2023. 6. 1. 22:59

git 은 형상관리가 목적이라 시간을 거슬러 올라갈 수 있음 

 

 

파일 하나를 되돌리기위해서는 restore  

git restore 파일명

 ㄴ입력한 특정 파일을 처음 상태로 돌림 

 

git restore --source 커밋아이디 파일명

ㄴ특정파일을 특정시점으로 돌림 (커밋아이디는 log에서 볼수 있음 )

 

 git restore --staged 파일명

ㄴ해당 파일을 (add)스테이징 취소함 


특정 커밋만 취소하거나 되돌아가자  revert 

git revert 커밋아이디
git revert 커밋아이디 커밋아이디   //여러개도 가능 
git revert HEAD    //가장 최근 커밋취소

ㄴ해당 커밋아이디에서 일어났던 commit을 취소해 줌(vim 에디터는 :wq로 종료)

ㄴ그래서 특정 커밋만 없어짐 (merge로 생성된 commit 도 취소가능)


 

전부 다 돌려내야하는 경우 reset

git reset --hard 커밋아이디

 

ㄴ해당 커밋이 생성된 시점으로 돌아감

협업할 때는 안 씀 / 개인프로젝트에서는 써볼수도...

 

git reset --soft 커밋아이디 // 커밋아이디 시점으로 리셋인데 지워질 내역을 staging area에 킵해놓기
						 // 킵해뒀던건 commit할수 있음 

git reset --mixed 커밋아이디 // 커밋아이디 시점으로 리셋인데 지워질 내역을 unstage상태로 두기 
                          // unstage에 뒀던건 add commit할수 있음

 

 

'[오늘의 공부] > git' 카테고리의 다른 글

[git] clone, pull  (0) 2023.06.02
[git] push  (0) 2023.06.01
[git] git merge 여러가지 방법  (0) 2023.06.01
[git] branch 생성 / merge 방법 / branch 삭제  (0) 2023.06.01
[git] add, commit, diff  (0) 2023.06.01