배경
어제 학습한 add, commit은 변경사항이 생겼을 때 버전정보를 업데이트 하는 것이라면, 이전 버전으로 돌아가는 방법에 대해 학습해 보려고 한다.
1. 이전 버전으로 복구
① Git 구조
Git버전은 작업 트리에서 변경된 내용이 있으면 스테이지에 add를 하고 변경된 정보를 저장소에 저장(Commit)을 하게 된다. 반대로 커밋된 내용으로 부터 과거로 돌아갈 때는 git reset, 커밋되기 전 스테이지에서 작업트리로 돌아갈 때 git restore --staged <file>, 작업트리에서 수정한 이후 파일이 정상적으로 돌아가지 않을 때 git restore <file>를 사용하는 것에 대해 자세하게 알아보려고 한다.
② git reset
생성된 버전에 대해서 다시 과거 버전으로 돌아갈 때 사용하는 명령어이다. 변경하는 방법은 다음과 같다.
// 돌아가고 싶은 git 해시 확인 //
git log
// 돌아가려는 버전으로 변경 (해당 해시 이후 변경된 내용은 삭제) //
git reset --hard 돌아가려는 커밋해시
// 만약 돌아가려는 버전이 바로 전 버전일 경우 //
git reset --soft HEAD^
③ git restore --staged <file>
스테이징 된 파일을 취소할 때 다음과 같은 명령어를 사용한다.
/* git 상태 확인 - 상태가 changes to be committed 일 때 */
git status
/* 스태이지에서 해당 파일을 내리는 방법 */
git restore --staged <filename>
/* git 상태 확인 */
git status
④ git restore <file>
파일을 수정한 뒤 소스가 정상적으로 동작을 안하는 등의 이유로 수정한 내용을 취소하려면 다음과 같은 명령어를 사용한다.
/* 수정된 파일 확인 */
git status
----------------------------------------------------------------------
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: hello.txt
----------------------------------------------------------------------
/* 수정된 파일을 원래대로 복구 */
git restore <file>
/* 상태확인 - modified 사라짐 */
git status
*Reference
- "깃&깃허브 입문" - 이지스퍼블리싱
-
-
부족한 글이지만 읽어주셔서 감사합니다.
'프로그래밍 > GIT' 카테고리의 다른 글
(1-3) git 버전관리 - n번째 버전 만들기 (0) | 2022.09.28 |
---|---|
(1-2) git 버전 관리 - 첫번째 버전 만들기 (0) | 2022.09.27 |
(1-1) git 버전관리 - 사용자 등록 (0) | 2022.09.26 |
(1) Git add, commit 버전 관리 (저장소 및 버전 생성) (0) | 2022.06.26 |
(0) GIT 이란? (0) | 2022.06.25 |