단일 파일 하드 리셋
단일 파일에 대한 변경 내용을 삭제하고 새로운 HEAD 복사본으로 덮어쓰려면 어떻게 해야 합니까? git reset --hard
1월 1일
를 my-file.txt
Git 덱 HEAD 。
git checkout HEAD -- my-file.txt
--
는 "이 포인트 뒤의 모든 인수를 파일명으로 지정"을 의미합니다.자세한 내용은 이 답변을 참조하십시오.이 점을 지적해 주신 VonC 씨 덕분입니다.
Git 2.23 (2019년 8월)부터 (자세한 정보)를 이용하실 수 있습니다.
git restore pathTo/MyFile
됩니다.MyFile
HEAD
을 사용하다
다른 커밋에서 변경을 가져오려면 커밋 이력을 되돌릴 수 있습니다.는 다음 the the the the the the the the the 。MyFile
마지막 커밋보다 두 개의 커밋이 앞에 있습니다.에서, 「」가 필요하게 되었습니다.-s
)--source
) .master~2
andmaster
송신원:( 「」) 「」를 참조해 주세요.
git restore -s master~2 pathTo/MyFile
다른 지점에서도 파일을 받을 수 있습니다!
git restore -s my-feature-branch pathTo/MyFile
헤드로 재설정:
단일 파일을 HEAD로 하드 리셋하려면:
git checkout @ -- myfile.ext
:@
말하다HEAD
형식이 되지 않을 수 . 이전 버전의 git은 짧은 형식을 지원하지 않을 수 있습니다.
인덱스로 재설정:
인덱스가 비어 있지 않다고 가정하고 인덱스에 단일 파일을 하드 리셋하려면 다음 절차를 수행합니다. 그렇지 않으면 HEAD로 이동합니다.
git checkout -- myfile.ext
요점은 인덱스로만 리셋하는 경우를 제외하고 안전을 위해 명령어를 생략하거나 명령어에서 제외하지 않는 것이 좋습니다.
업스트림/마스터 작업으로 되돌리려면:
git checkout upstream/master -- myfile.txt
HEAD를 참조할 필요는 없습니다.
git checkout -- file.js
다음 명령을 사용할 수 있습니다.
git checkout filename
파일명이 같은 브랜치가 있는 경우는, 다음의 커맨드를 사용할 필요가 있습니다.
git checkout -- filename
다음 명령을 사용하여 단일 파일을 리셋할 수 있습니다.
git checkout HEAD -- path_to_file/file_name
된 모든 하여 ""를 가져옵니다.path_to_file/filename
git status
다음 명령을 사용할 수 있습니다.
git reset -- my-file.txt
이 모두 됩니다.my-file.txt
가가시 。
특히 git이 익숙하지 않은 경우, 간단하고, 간단한, 직접 조작할 수 있는 방법:
파일 로그 보기
git log myFile.js
1023057173029091u23f01w276931f7f42595f84f 작성자:kmiklas 날짜:8월 7일 (화) 09:29:34 2018-0400
JIRA-12345 - 새로운 아키텍처 리팩터
파일의 해시를 메모합니다.
1023057173029091u23f01w276931f7f42595f84f
해시를 사용하여 파일을 표시합니다.원하는 제품인지 확인합니다.
git show 1023057173029091u23f01w276931f72595f84f:.myFile.js
파일을 로컬 복사본으로 리디렉션
git show 1023057173029091u23w276931f7f42595f84f:.myFile.js>myFile.07aug2018.js
현재 파일을 백업합니다.
cp myFile.js myFile.bak.js
즐겨찾기 텍스트 편집기에서 두 파일을 모두 엽니다.
vim myFile.js
vim myFile.07aug2018.jsmyFile.07aug2018.js에서 myFile.js로 n' 페이스트 코드를 복사하여 저장합니다.
myFile.js 커밋 및 푸시
로그를 다시 보고 파일이 올바르게 배치되었는지 확인합니다.
고객에게 최신 버전을 가져오라고 말합니다. 이전 버전이 설치된 상태에서 즐겁게 작동되는 것을 보십시오.
가장 섹시하거나 가장 git 중심적인 솔루션은 아니며, 확실히 "수동" 리셋/리버전에도 효과가 있습니다.git에 대한 최소한의 지식이 필요하며 커밋 이력을 방해하지 않습니다.
언급URL : https://stackoverflow.com/questions/7147270/hard-reset-of-a-single-file
'programing' 카테고리의 다른 글
Swift에서 어레이에 요소 추가 (0) | 2023.04.19 |
---|---|
Python에서 파일을 이동하려면 어떻게 해야 하나요? (0) | 2023.04.19 |
목록을 python에서 dict 키로 사용할 수 없는 이유는 무엇입니까?사용할 수 있는 것과 사용할 수 없는 것이 정확히 무엇이고, 그 이유는 무엇입니까? (0) | 2023.04.13 |
클래스가 NSObjectProtocol을 준수하지 않습니다. (0) | 2023.04.13 |
sed를 사용하여 파일의 마지막 n 행을 삭제하는 방법 (0) | 2023.04.13 |