방법: 1. "git commit --amend" 명령을 사용하여 기록 레코드를 한 번 수정합니다. 2. "git rebase -i 지정 커밋 번호" 명령을 사용하여 여러 기록 레코드를 수정합니다. Branch --filer" "명령 수정 범위" 명령은 기록을 다시 작성합니다.
이 문서의 운영 환경: Windows 10 시스템, Git 버전 2.30.0, Dell G3 컴퓨터.
git의 기록을 수정하는 방법
주니어 플레이어 git amend
제출 후 비활성화된 경우 git commit --amend를 사용하여 이전 제출을 수정할 수 있습니다. 이 명령이 실행된 후 현재 브랜치에서 마지막 커밋을 제거하고 작업공간을 제출을 위해 마지막으로 준비되었던 상태로 복원한 다음(마지막 커밋 후 변경 사항을 혼합하면서) You go에 대한 vim 인터페이스를 표시합니다. 마지막 커밋 정보를 수정합니다. vim에 저장하면 현재의 모든 수정 사항이 새로운 제출 정보와 함께 제출됩니다.
이 명령은 마지막 커밋만 수정할 수 있습니다. 하나의 명령은 다음 일련의 작업을 실행하는 것과 같습니다.
$ORIG_HEAD=`git show`#保存当前的这次提交的 commit 号 $git reset --soft HEAD^#回到最后一次提交准备提交前的状态 $...#做一些操作和修改 $git commit -c $ORIG_HEAD#表示用最后一次提交的提交信息来做为提交信息,不过会调出编辑器界面
중간 플레이어 git rebase
이전 git commit --amend는 마지막 커밋만 수정할 수 있지만, 변덕스럽게도 손이 비활성화되면 이 명령은 우리를 구할 수 없습니다. 이때 우리는 견딜 수 없는 과거 사건을 수정하는 데 도움이 되는 git rebase -i의 킬러 도구를 사용해야 합니다.
실제로 git rebase -i는 기록 레코드를 수정하는 데 특별히 사용되는 명령이 아니라 대화식(즉, 하나씩)으로 리베이스 작업을 수행할 수 있게 해주는 명령이지만 이 명령을 사용하여 이를 달성할 수 있습니다. 커밋 히스토리에.
이 명령을 사용하는 방법은 git rebase -i 입니다. 예를 들어 git rebase -i HEAD~3을 사용하여 이 제출, 마지막 제출, 이전 제출 등 세 가지 제출을 수정할 수 있습니다. .
그림에 표시된 대로 이 세 가지 변경 사항을 제출하고 git rebase -i HEAD~3을 입력하면 다음 인터페이스가 나타납니다.
이것은 vim 편집기의 인터페이스입니다. 이 스크립트를 편집할 때 사용할 수 있는 명령은 아래 설명에 있는 6개의 명령입니다. 현재 편집 중인 페이지를 종료한 후 git은 이 스크립트에 따라 제출물에 대해 해당 작업을 하나씩 수행합니다(가장 빠른 제출부터 시작).
커밋 정보만 수정하려면 모든 선택을 r로 변경한 다음 wq save로 변경하면 git에서 가장 빠른 커밋 정보부터 하나씩 수정할 수 있습니다.
나머지 명령 중 e는 해당 제출물을 수정할 때 vim 편집기를 팝업합니다. 이때 HEAD 포인터는 이 제출물을 가리킵니다. 이때 git commit --amend를 사용하여 이에 대한 다양한 수정을 할 수 있습니다. submit을 실행한 후 git rebase --continue를 실행하면 s는 해당 제출을 수정할 때 이 제출과 해당 상위 제출을 하나의 제출로 병합합니다. f는 s와 유사하지만 현재 제출의 정보를 무시하고 직접적으로 상위 제출 정보를 사용하려면 x 뒤에 명령을 입력한 다음 HEAD가 이 제출을 가리킬 때 이를 실행해야 합니다. 이러한 명령을 사용하여 제출물을 재정렬하고 제출물을 분할할 수도 있습니다.
최고의 킬러 git filter-branch
N번 제출한 후 갑자기 제출한 이메일 주소가 모두 잘못되었음을 발견했다고 가정해 보겠습니다(╯°□°)╯︵ ┻━┻, 이때, 이전에 사용하면 언급된 명령이 완료되기 전에 소진될 수 있습니다. 이때 git filter-branch를 사용하여 각 제출에 대해 사전 설정 작업을 일괄적으로 수행할 수 있습니다.
git 필터. -branch 명령에서 사용되는 기본 형식은 git filter-branch --
추천 학습: "Git Tutorial"
위 내용은 git에서 기록을 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!