그 동안은 git add / commit / log / status 를 주로 사용하였는데 이번에는 작업 되돌리는 restore 를 써보려고한다.
나는 주로 작업 트리에서 백업을 해놓고 수정을 항상 하였기 때문에 restore 은 써보질 않았다...
스테이징을 하기 전에 (git add 를 하기 전) 수정하고 싶다면
사용하는 명령은 아래와 같다.
git restore <파일명>
# ex) git restore test.txt
스테이징이 되어있는 상태를 스테이징 전으로 되돌리려면
명령은 아래와 같다.
git restore --staged <파일명>
# ex) git restore --staged test.txt
커밋이 된 상태를 되돌리려면
명령은 아래와 같다.
git reset HEAD^
이 명령어는 가장 최신의 커밋된 상태로 돌리는 것이다.
커밋도 취소되고 스테이지에서도 내려간다.
HEAD^ 는 최신 버전으로 이동한다.
최신이 아니라 특정 버전의 hash 값을 HEAD^ 대신 넣으면 된다.
git reset dfkjaldfieiruieruieradfj0000dfdf
이런 식으로 말이다.
하지만 reset 은 이전 기록을 전부 다 삭제하는 것이기 때문에 조심해서 사용해야 한다.
이전 기록을 남기는 revert 를 사용하면 기록을 남길 수 있어 reset 보다는 조금 더 사용이 많을 것 같다.
# 1. log 에서 원하는 버전의 해시를 가져온다.
git log
commit 8aaebc0f4f499e9710da31a282e0092be208dda3
# 2. git revert 명령을 통해 커밋을 취소한다.
git revert 8aaebc0f4f499e9710da31a282e0092be208dda3
'Git > Git 기초 다지기' 카테고리의 다른 글
[Git] 1. 저장소 (Repository) (0) | 2024.12.09 |
---|