프론트엔드 첫걸음

특정 파일만 마지막 커밋까지 되돌리고 싶을 때 - git checkout HEAD [파일명] , git restore [파일명] 본문

개발 공부/Git

특정 파일만 마지막 커밋까지 되돌리고 싶을 때 - git checkout HEAD [파일명] , git restore [파일명]

차정 2022. 7. 4. 21:22

git checkout HEAD [파일명]

마지막 커밋 이후  a.txt 파일과 b.txt 파일을 수정했다.

그런데 a.txt 파일의 코드가 엉망이라 그냥 마지막 커밋지점으로 되돌리고 싶다.

이때 git checkout HEAD a.txt 를 사용하면 a.txt만 마지막 커밋의 코드로 되돌릴 수 있다.

또는 git checkout -- a.txt 를 사용할 수 있다. (HEAD대신 -- 사용)

 

git restore [파일명]

git checkout이 여러 기능을 하는 상태에서 git switch와 git restore가 도입되어 

git checkout의 기능을 일부 대신하게 되었다.

git checkout HEAD a.txt  대신 git restore a.txt 사용할 수 있다.

 

파일을 수정하고 git status 로 현재 상태를 확인하면 아래와 같은 메시지가 뜨는데,

여기서도 git restore를 확인할 수 있다.

working directory에서 변화를 없애고 최신커밋으로 돌리는 방법, git restore를 알려준다

 

 

여러개의 파일을 되돌리고 싶으면  파일의 이름을 여러개 쓰면 된다.

git checkout HEAD a.txt b.txt c.txt 

git checkout -- a.txt b.txt c.txt

git restore a.txt b.txt c.txt

모두 사용 가능하다.

 

단, 해당 파일에서 커밋되지 않은 변화는 사라진다.