[git resore] commit 했던 시점으로 파일한개를 되돌릴수 있습니다(파일복구 가능)
git restore 파일명
[실행결과] git restore 실행결과
[git restore --source] 특정한 commit 아이디 시점으로 복구하는 방법
(base) admin@dmshin git_test % git log --oneline
96f46ad (HEAD -> main) c // file name c.txt
6dff835 b //file name b.txt
62db30a a //file name a.txt
git restore --source 커밋아이디 파일명
git resotre --source 62db30a b.txt // 커밋아이디(62db30a) commit 시점에 b.txt는 없었다.
//그래서 결과는 아래와 같이 b.txt 삭제된다.
git resotre --source 62db30a c.txt //실행하면 c.txt도 사라졌다.
걱정없이 restore 명령어로 다시살릴수있다.
[git restore --staged 파일명 ] - staging 취소하기
git restore --staged 파일명
git restore --staged add_a.txt
git restore --staged add_b.txt
[최종 결과 ]
출처
https://seonkyukim.github.io/git-tutorial/git-status/
[git revert ] 특정한 commit 취소하기
-> git 특성상 commit을 삭제하거나 조작할 수는 없다 그래서 삭제 시점의 commit을 생성하여 해결할 수 있다.
git revert 커밋아이디
[최종결과 ]
[git reset ] - commit 아이디가 있던 시점으로 모든 commit을 되돌림(협업 시 사용금지, commit 모두 날아감)
1. --hard => 해당 시점 이후 발생되었던 commit은모두 삭제
2. --soft =>해당 시점 이후 발생되었던 commit은 staging되어있음
git reset --hard
commit 아이디 중 b에 해당하는 6dff835에서 사용할 예정
git reset --hard 커밋아이디
git reset --hard 6dff835
[실행완료]
git reset --soft
git reset --soft 6dff835
여기까지 감사합니다.
=======================================================================
해당 시리즈는 코딩애플 강의 "매우쉽게 알려주는 git & github" 참고 하였습니다.
반응형
'개발도구 사용법 > Git으로 버전관리 하기' 카테고리의 다른 글
[ git ]step.8 협업하기 (git clone / git pull) (0) | 2024.06.06 |
---|---|
[ git ]step.7 git 개념정리 & repository / git push (0) | 2024.06.05 |
[ git ]step.5 merge 방법 3-way/ fast-forward/ squash/ rebase (0) | 2024.06.03 |
[ git ]step.4 branch / git switch / merge (0) | 2024.06.02 |
[ git ]step.3 비교 명령어 (diff / git graph) (0) | 2024.05.31 |