programing

Git 이등분 오류 실행 취소

abcjava 2023. 6. 30. 21:47
반응형

Git 이등분 오류 실행 취소

나는 명령 줄을 통해 자동화되지 않은 깃 이등분을 하고 있습니다.명령 기록에서 실수로 잘못된 줄에 리턴을 기록할 때까지 모든 것이 잘 진행되고 있으며, 테스트를 실행하는 대신 'git biscit good'(또는 bad)를 실행합니다.웁스 - 이 커밋이 좋은 것으로 표시되어야 하는지 나쁜 것으로 표시되어야 하는지는 아직 모르겠습니다만, 저는 그렇게 했습니다.

git biscit good' 명령을 실행 취소하거나 git이 결과를 잊어버리게 한 후 다시 돌아가서 해당 커밋에 대한 테스트를 실행할 수 있습니까?

git-bisect 설명서에서 다음을 수행합니다.

로그 2등분 및 재생 2등분

수정본을 양호 또는 불량으로 표시한 후 다음 명령을 실행하여 지금까지 수행된 작업을 표시합니다.

$ git bisect log

수정기호 상태를 잘못 지정한 경우 이 명령어의 출력을 파일에 저장하고 편집하여 잘못된 항목을 제거한 다음 다음 명령을 실행하여 수정된 상태로 되돌릴 수 있습니다.

$ git bisect reset
$ git bisect replay that-file

다음을 사용하여 수행된 작업에 대한 기록을 출력할 수 있습니다.

$ git bisect log > bisect.log

편집기에서 해당 파일을 열고 결함이 있는 줄을 편집/제거합니다.그러면 다시 재생할 수 있습니다.

$ git bisect replay bisect.log

이 내용은 에 설명되어 있습니다.

텍스트 편집기를 사용하지 않고 마지막 명령을 한 번에 실행 취소하려면 다음 명령을 사용할 수 있습니다.

git bisect log | head -n -2 > /tmp/fixed_bisect.log ; git bisect replay /tmp/fixed_bisect.log

로그의 마지막 두 줄을 제거한 다음(댓글 + 실제 명령에 해당하므로) 파일에 저장하고 직접 재사용합니다.bisect replay(불행히도,bisect replay파이프로 직접 입력을 받을 수 없으므로 임시 중간 파일을 만들어야 합니다.)

더욱 쉽게 하기 위해 .bashrc 또는 동등한 항목에 별칭을 추가할 수 있습니다.

# bisect undo alias
alias bisectundo="git bisect log | head -n -2 > /tmp/fixed_bisect.log ; git bisect replay /tmp/fixed_bisect.log"

새 세션에서는 다음을 간단히 사용할 수 있습니다.bisectundo한 발짝 뒤로.


음수 인수에 대해 "부정한 줄 수" 오류가 발생한 경우(의 일부 구현이 지원하지 않기 때문에) 이 더 긴 형식을 사용할 수 있습니다. 이 형식은 다음을 사용하여 로그 길이에 유지할 줄 수 있습니다.wc:

git bisect log | head -n $(($(git bisect log | wc -l)-2)) > /tmp/fixed_bisect.log ; git bisect replay /tmp/fixed_bisect.log

언급URL : https://stackoverflow.com/questions/8594758/undoing-a-git-bisect-mistake

반응형