IT

패치를 생성하여 폴더를 특정 커밋으로 되 돌리는 방법

lottoking 2020. 9. 7. 08:23
반응형

패치를 생성하여 폴더를 특정 커밋으로 되 돌리는 방법


'somefolder'폴더에 대한 내 기록입니다.

$ git log somefolder

commit 89cd
More changes to somefolder

commit ef47a
Updating somefolder and other stuff

commit e095
Bugs fixed in somefolder

일부 폴더를 '일부 폴더에서 수정 된 버그'커밋으로 되돌리고 싶습니다.

두 번째 커밋에는 폴더 외부의 변경 사항이 포함 되었으나, 커밋을 되돌리고 싶지.

가장 안전한 방법은 일부 폴더에만 적용되는 커밋 e095와 89cd 사이에 diff / patch를 만든 다음 해당 패치를 적용하는 것입니다. 어떻게 할 수 있습니까?


git checkout 을 사용하여 저장소 를 특정 상태로 업데이트 할 수 있습니다 .

git checkout e095 -- somefolder

diff 생성에 대한 귀하의 질문에에서도 마찬가지입니다. 현재 상태에서 다음으로 돌아가려면 diff를 생성하십시오 e095.

git diff 89cd..e095 -- somefolder

사용를 git reset하여 최근 커밋에 추가 된 파일을 제거하는 것도 포함하는 인덱스를 재설정 할 수 있습니다 ( git checkout그 자체로는 수행하지 않음).

git reset e095 -- somefolder

그러나 git reset작업 복사본을 업데이트하지 않습니다 --hard. 그런 다음을 사용 git checkout하여 작업 복사본을 이와 동일하게 만듭니다.

git checkout -- somefolder

추가 된 파일도 제거하려는 다음을 수행해야합니다.

git clean -fd somefolder

참고 URL : https://stackoverflow.com/questions/6119036/how-to-revert-a-folder-to-a-particular-commit-by-creating-a-patch

반응형