공부하다 Git에서 개별 파일 및 폴더를 롤백하는 방법

Git에서 개별 파일 및 폴더를 롤백하는 방법

~에 의해 Frank
Git에서 개별 파일 및 폴더를 롤백하는 방법

소개

Git은 코드베이스의 각 버전을 유지 관리하는 훌륭한 도구이며 때로는 시간을 거슬러 올라가 파일의 이전 버전을 복원해야 합니다. Git은 단일 파일 또는 폴더에 대한 변경 사항을 롤백할 수 있을 뿐만 아니라 전체 커밋을 취소하거나 전체 저장소를 재설정할 수 있습니다.

되돌리기와 재설정 중에서 선택하기

커밋을 "되돌리면" Git은 일반적으로 반대 수정으로 새 커밋을 적용하여 기본적으로 취소합니다. 이것은 실수를 해서 기록에 남아 있더라도 커밋을 "제거"해야 하는 경우에 편리합니다.

리포지토리를 재설정하는 절차는 약간 다릅니다. 한 번에 하나의 커밋만 철회할 수 있지만 git reset을 실행하면 Git은 해당 커밋이 생성된 시점으로 저장소를 완전히 재설정합니다. 이것은 다양한 이유로 수행되며 가장 일반적인 이유는 커밋을 지우거나 분기 기록을 수정하는 것입니다.

이 두 절차 모두 전체 저장소에 영향을 주지만 동일한 명령을 사용하여 개별 파일이나 폴더에 동일한 효과를 얻을 수 있습니다. 예를 들어, 단일에서 git reset 실행 파일은 커밋이 생성되었을 때의 상태로 복원합니다.. 이것은 Git 기록에서 이전 버전의 파일을 선택하려는 경우에 유용합니다.

이전 Git 버전 검사

The low-tech approach to restoring a file to its original state is rather simple—Github and most other Git servers maintain track of your file history, and you can simply click on a commit and choose “Browse Files” to see a snapshot of your repository from the past. You may then either 파일을 다운로드 또는 텍스트를 복사합니다.

이것은 많은 수의 코드 파일로 작업 중이고 작성한 루틴의 이전 버전을 비교하려는 경우에 특히 유용합니다. 이 시나리오에서는 전체를 되돌리고 싶지 않고 하나의 기능만 사용하고 싶을 것입니다. Git CLI를 건드리지 않고 해당 함수에서 코드를 복사할 수 있습니다.

Git 파일을 이전 버전으로 되돌리기

이 테스트 리포지토리에서 README를 변경하고 새 파일을 추가한 커밋을 만들었습니다. README 수정을 취소하고 싶지만 전체 저장소를 첫 번째 커밋으로 복원하고 싶지는 않습니다.

대답은 해당 파일의 이전 버전을 다운로드하여 README만 재설정하는 것입니다. Git의 checkout 명령은 커밋 또는 분기 ID를 기반으로 데이터를 다운로드하는 데 자주 사용되지만 분기 전환과 같은 다양한 작업을 수행할 수 있습니다.

파일을 이전 버전으로 복원하려면 복원하려는 시점의 커밋 ID를 찾으십시오. 범위가 지정된 단일 파일과 함께 git log를 사용하여 해당 파일에 대한 변경 사항만 볼 수 있습니다.

자식 로그 README.md

커밋 ID를 복사한 다음 ID와 파일 경로를 사용하여 git checkout을 실행합니다.

git checkout 22710694b25d7ce5297559851beb7d3e4de811bb README.md

이렇게 하면 파일이 다시 변경되지만 아직 변경 사항을 커밋하지는 않습니다. 준비가 되면 자유롭게 변경하고 커밋할 수 있습니다.

이 경우 git checkout은 수정 사항을 다음 커밋을 위해 준비된 것으로 표시했습니다. 수정 사항을 커밋하지 않으려면 그렇게 할 수 있습니다. 이것은 Github를 사용하지 않고 이전 버전의 파일을 일시적으로 다운로드하는 데 유용할 수 있습니다.

개별 파일에 대한 변경 사항 되돌리기

마찬가지로 git revert를 사용하여 단일 커밋에서 수행한 수정 사항을 취소할 수 있습니다. 단일 파일에 적용할 수 있는 방법은 없지만 커밋이 다른 파일에 영향을 미치는 경우 수정을 거부하면 됩니다.

Use the —no-commit switch to enable modification of the “revert commit” that Git generates automatically.

자식 되돌리기 de8564b131ca6a15a7e7c73f5ef156b119cc0b93

이렇게 하면 반전을 완료하기 전에 파일을 변경할 수 있습니다. 원하지 않는 변경 사항이 준비된 경우 클라이언트 또는 빈 git 체크아웃을 사용하여 삭제할 수 있습니다.

git checkout -- 파일

당신은 또한 좋아할 수 있습니다

Navhow 전 세계 사람들에게 무엇이든 하는 방법을 가르치는 데 전념하고 있습니다.

 

구독하다

어디서나 최고의 방법 뉴스레터

©2022 Navhow, 판권 소유