티스토리 뷰
https://stackoverflow.com/questions/215718/how-do-i-reset-or-revert-a-file-to-a-specific-revision
https://stackoverflow.com/questions/949314/how-do-i-get-the-hash-for-the-current-commit-in-git
작업하면서 git reset --hard 명령어를 자주쓴다.
그런데 git reset --hard 명령어의 경우 프로젝트의 모든 파일에 대한 수정내역을 reset or revert 시켜버린다.
특정 파일만 reset 할 수 있는 방법이 존재한다!(VSCode git extension 쓰면 클릭한번으로 될일이다!)
1. 먼저 복구하고자 하는 버전의 commit id를 불러와야한다.
내 경우 가장 최근 commit id가 복구하고자 하는 버전이였다. 이 경우 아래의 명령어를 입력하면 commit id를 cli 상으로 출력할 수 있다.
git rev-parse HEAD
아래 처럼 출력이 됐다.
(torch1131) PS C:\Users\yonghye\Documents\Workspace\Crowd-Counting> git rev-parse HEAD
982d08d2bd1adc651f27c8192b6093288776a223
982d08d2bd1adc651f27c8192b6093288776a223 이게 commit id가 되는거다.
2. 특정 파일만 reset 하기
특정 파일만 reset 하는 명령어는 아래와 같다.
git checkout commit-id -- file1/to/restore file2/to/restore
예시 1.)
여기서 commit-id 는 내 경우로 치면 과정 1. 에서 출력한 982d08d2bd1adc651f27c8192b6093288776a223 가 되는 것이다.
그리고 내 경우에는 복구할 파일이 1개 였다. 이 파일이 example.py 라고 하면 아래와 같이 명령어를 입력하면 된다.
git checkout 982d08d2bd1adc651f27c8192b6093288776a223 -- example.py
예시 2.)
commit-id: 100
reset할 파일들: example.py, pkg/build.py
git checkout 100 -- example.py pkg/build.py
'Git' 카테고리의 다른 글
[Git] Remote 측의 특정 파일, 폴더 제거 하면서 Local 측에선 유지하는 방법 (0) | 2023.07.16 |
---|---|
[Git] 삭제된 파일들 staging 하기 (0) | 2023.07.15 |
[GitHub/깃헙] 비디오 업로드 (0) | 2023.01.10 |
가장 최근 커밋 메시지 수정하기 (0) | 2022.11.20 |
[Git] README에 컨트리뷰터의 프로필 이미지를 출력해보자 (0) | 2022.02.09 |
- Total
- Today
- Yesterday
- 파이참
- cosine
- 가장 긴 증가하는 부분 수열
- 이분탐색
- 위상 정렬 알고리즘
- 문제집
- 백트래킹
- FairMOT
- MOT
- 백준 11053
- 순열
- 조합
- 백준 1766
- 백준
- 백준 11437
- PyCharm
- Lowest Common Ancestor
- 인공지능을 위한 선형대수
- ㅂ
- 단축키
- LCA
- C++ Deploy
- 자료구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |