Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

Git 되돌리기 커밋:단계별 가이드

git revert 명령은 커밋을 취소하므로 저장소를 이전 커밋으로 되돌릴 수 있습니다. 커밋을 삭제하는 대신 revert는 게시된 커밋의 변경 사항을 되돌리는 새 커밋을 만듭니다. 이렇게 하면 초기 커밋이 프로젝트 기록의 일부로 보존됩니다.


Git 리포지토리로 작업할 때 실수로 Git 리포지토리에 저장할 준비가 되지 않은 코드로 커밋을 생성할 수 있습니다.

여기에서 git revert 명령이 사용됩니다. git revert 명령을 사용하면 undo할 수 있습니다. 저장소를 이전 커밋으로 되돌릴 수 있도록 커밋합니다.

이 튜토리얼에서는 예제와 함께 코드를 되돌리는 방법과 git revert 명령을 사용하여 코드를 되돌리는 방법에 대해 설명합니다. 이 튜토리얼을 읽으면 git revert commit 명령을 사용하여 코드를 되돌리는 전문가가 될 것입니다.

코드 되돌리기

가끔 Git 리포지토리로 작업할 때 커밋에 실수가 있음을 알 수 있습니다.

예를 들어, 새로운 기능에 대한 작업을 막 마치고 수정해야 할 버그가 있다는 것을 깨달았다고 가정해 보겠습니다. 버그 수정을 커밋할 때 개발 중인 새 기능에 대한 작업 디렉터리도 커밋했음을 알 수 있습니다.

즉, 커밋에 버그 수정과 새로운 기능이 모두 포함되어 있어 프로젝트의 다른 공동 작업자가 이해하기 어려울 수 있습니다. 이 두 가지 변경 사항을 동시에 커밋하는 대신 두 개의 개별 커밋에 포함하고 싶었습니다.

이 시나리오에서는 커밋을 푸시하기 전의 상태로 저장소를 되돌릴 수 있습니다. 이것은 마지막 커밋을 되돌려 git에서 커밋을 푸시할 수 있는 또 다른 기회를 제공합니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

Git 되돌리기 명령

git revert 명령을 사용하면 undo할 수 있습니다. 커밋. 그러나 프로젝트에서 커밋을 삭제하는 대신 git revert 명령은 마지막 두 커밋 사이의 변경 사항을 찾아 해당 변경 사항을 되돌리는 새 커밋을 만듭니다.

git revert 명령은 저장소의 프로젝트 기록을 보존할 수 있기 때문에 유용합니다. 커밋을 완전히 삭제하는 대신 저장소를 다른 커밋으로 되돌릴 수 있으므로 저장소에 푸시한 모든 커밋에 대한 정확한 기록을 계속 유지할 수 있습니다.

마지막 커밋을 되돌리려는 상황에서 git revert 명령을 사용해야 합니다. 마지막 커밋에 필요한 변경을 수동으로 수행하는 대신 커밋을 되돌리고 새 커밋을 코드베이스에 푸시할 수 있습니다.

git revert 명령의 구문은 다음과 같습니다.

git 되돌리기

이 명령이 작동하는 방식을 설명하기 위해 예제를 살펴보겠습니다.

Git 되돌리기 예제

로컬 머신에는 README.md라는 파일이 있는 예제 리포지토리가 있습니다. 커밋에 푸시하려는 파일을 방금 변경했습니다. 다음 코드를 사용하여 수행할 수 있습니다.

git commit -m "docs:작성자 정보로 README.md 업데이트"

이 명령을 실행하면 docs: Update README.md with author info 메시지가 포함된 커밋이 생성됩니다. . 또한 README.md 파일에 또 다른 변경을 가했습니다. 이 파일은 다음 명령을 사용하여 리포지토리에 커밋합니다.

git commit -m "docs:기여도별로 작성자 순서 업데이트"

이 명령은 저장소에 또 다른 커밋을 생성합니다. git log –pretty=oneline 명령(커밋의 짧은 목록을 보여줌)을 사용하면 리포지토리 기록에 두 개의 커밋이 있음을 알 수 있습니다.

6f52d877873e7d3b52c929647384dfdf2488da22 (HEAD -> 마스터) 문서:기여도별 작성자 업데이트 순서57d763663e619088159bb7629243456f88feab79 업데이트 

이제 마지막 커밋을 되돌리기로 결정했다고 가정합니다. 우리는 README.md 파일에 작성자를 쓴 순서가 잘못되었음을 알고 있으므로 저장소를 마지막 커밋을 푸시하기 전의 상태로 되돌려야 합니다.

다음 명령을 사용하여 수행할 수 있습니다.

git revert HEAD

이 명령을 실행하면 기본 텍스트 편집기가 열리고 커밋에 대한 메시지를 생성하라는 메시지가 표시됩니다. 이 명령에서 HEAD는 최신 커밋을 나타냅니다. 이 예에서는 revert author order commit 메시지를 입력합니다. . 그런 다음 명령은 다음을 반환합니다.

[master b66c29a] 작성자 순서 되돌리기 커밋 "문서:기여도에 따른 작성자 순서 업데이트" 파일 1개가 변경됨, 1개 삭제(-)

이제 git log –pretty=oneline 명령을 실행하면 새 커밋이 생성된 것을 볼 수 있습니다.

b66c29a8c4c226fa9ae8cd8f9e086c0a73e6ecfe
 (HEAD를 -> 마스터) 되돌리기 저자 순서는 "문서를 :기여하여 저자의 업데이트 순서"커밋 :contributions57d763663e619088159bb7629243456f88feab79의 문서에 의해 저자의 업데이트 순서 :6f52d877873e7d3b52c929647384dfdf2488da22 문서 업데이트 README.md 저자 정보와  

이제 커밋 기록에 3개의 커밋이 나열됩니다. 마지막 커밋을 삭제하는 대신 git revert 명령은 이전 커밋의 변경 사항을 취소한 새 커밋을 생성했습니다. 이는 우리가 저장소에 푸시한 모든 커밋에 대한 완전한 기록이 여전히 있음을 의미합니다.

git revert 명령을 실행하려면 커밋 참조가 필요합니다. 이 경우 저장소를 마지막 커밋으로 되돌리는 HEAD를 지정했습니다.

다른 커밋으로 되돌리려면 해당 커밋에 대한 해시 값을 지정할 수 있습니다. 따라서 HEAD를 명시하는 대신 명령에서 git log 명령이 반환한 해시를 사용하여 선택한 커밋으로 되돌릴 수 있습니다. 다음은 저장소를 특정 커밋으로 되돌리는 데 사용할 명령의 예입니다.

git 되돌리기 57d763663e619088159bb7629243456f88feab79

이 명령은 저장소를 SHA 해시 57d763663e619088159bb7629243456f88feab79를 사용하여 커밋으로 되돌립니다. . 이 리포지토리에서 해당 해시는 리포지토리에 대한 첫 번째 커밋에 해당합니다.

Git 되돌리기 대 재설정

되돌리기 및 재설정 명령은 모두 Git 리포지토리의 이전 커밋에서 변경 사항을 실행 취소하는 데 사용됩니다. 그러나 이러한 명령은 약간 다른 동작을 한다는 점에 유의해야 합니다.

git revert 명령줄 작업은 이전 커밋을 실행 취소하는 데 사용됩니다. git revert를 실행하면 두 커밋 간의 변경 사항이 취소됩니다. 그런 다음 변경 사항이 취소된 후 저장소의 코드가 포함된 새 커밋이 생성됩니다.

반면에 git reset 명령은 특정 범위 사이의 모든 커밋을 제거하여 저장소를 이전 상태로 되돌립니다. 따라서 git reset을 실행하고 이전 커밋을 참조하면 저장소의 현재 상태와 해당 커밋 사이의 모든 커밋이 삭제됩니다.

커밋을 되돌리는 것이 커밋 재설정보다 선호되는 경우가 많습니다. 주된 이유는 git revert가 프로젝트 기록을 변경하지 않기 때문입니다. 이를 통해 개발자는 프로젝트의 모든 변경 사항을 정확하게 기록할 수 있습니다.

또한 git revert 명령을 사용하면 저장소 기록의 특정 지점에서 개별 커밋으로 되돌릴 수 있습니다. 반면에 git reset 명령은 현재 실행 중인 커밋에서만 다시 작동합니다.

즉, 저장소 히스토리에서 커밋을 취소하려면 해당 시점 이전의 모든 커밋을 제거한 다음 변경 사항을 커밋해야 합니다. 이로 인해 Git과 같은 소스 제어 도구를 효과적으로 사용하는 데 중요한 부분인 저장소 기록의 정확한 기록을 보존하기가 어렵습니다.

결론

git revert 명령을 사용하면 특정 커밋 이후에 코드 리포지토리에 수행한 변경 사항을 취소할 수 있습니다. 커밋을 삭제하는 대신 git revert 명령은 현재 커밋과 이전 커밋 간의 변경 사항을 식별하고 이러한 변경 사항을 되돌리기 위해 새 커밋을 생성합니다.

이 자습서에서는 git revert 명령을 사용하여 Git에서 커밋을 되돌리는 방법에 대해 설명했습니다. 이제 전문 개발자처럼 git revert commit 명령을 사용하여 커밋 되돌리기를 시작할 준비가 되었습니다!