풀 요청에서 태그에 따른 git 커밋 정리



Originally published @ puruvj.dev



이봐 멋진 개발자! 레포에 다음 기여를 하려고 하시나요? 엄청난. 대박! 👍

하지만 풀 리퀘스트를 하면 갑자기 아래와 같은 것을 볼 수 있습니다 👇



저게 뭐에요?! 어떻게이 일이 일어 났어요?!!

괜찮아요. 계속 읽어보세요.

Disclaimer: I'm not a git expert in any way. In fact I started using it to its full extent only 2 months back from now, in November, 2020. The explanation you read below may be (partially)incorrect, and if you find that, please inform me with a Direct Message on twitter . You'll be doing a favour to the whole community. However be assured, the commands/steps below are tested to work well, and are correct.



설명



불필요한 커밋이 포함된 지저분한 풀 리퀘스트를 제출하기 쉽습니다.

위에 보이는 사진은 제가 활발하게 작업하고 있는 오픈 소스 프로젝트에서 최근에 공개한 PR입니다. Twindle . 나는 이 PR과 관련된 커밋을 2개만 만들었지만 보시다시피 여기에는 많은 커밋(정확히 19개)이 포함됩니다. 문제는 이전 PR에서는 15개 커밋이었고 이전 PR에서는 약 13개였습니다. 보시다시피 이러한 커밋은 계속 추가됩니다. 내가 만드는 다음 PR에는 이 모든 것이 포함되고 새로운 커밋이 포함됩니다.

발생하는 이유는 2가지입니다.

단일 브랜치에서 PR 만들기



새로 만든 브랜치든 main 또는 master이든 하나의 단일 브랜치에서 계속 PR을 만들면 이전 커밋이 계속 추가되고 각 커밋에 관련된 파일도 계속 쌓입니다.

예를 들어 파일을 2개만 변경하여 PR을 만들려고 했지만 PR에 10, 20 또는 30이 표시될 수 있습니다.

우리 별 봇의 결함



위의 사진 👆에서 볼 수 있듯이 봇의 일부 커밋도 볼 수 있습니다. 일부 리포지토리에는 일부 작업을 처리하는 자동화된 봇이 있습니다. 때때로 업스트림 리포지토리(일명 포크한 원본 리포지토리)의 변경 사항을 병합할 때 일부 봇 커밋이 포함될 수 있으며 자신의 커밋 기록을 오염시킬 수 있습니다.

If this explanation seems very incomplete or weird, is because of the fact that I don't know completely about these bot commits. Please do your own research about this if you can(and tell me too 😋).



이 밀항자 커밋을 어떻게 제거합니까?



이 명령을 실행하기만 하면 됩니다.

git checkout main
git reset --hard upstream/main
git push --force


  • git checkout mainmain 지점으로 결제만 하면 됩니다. master 또는 기본 브랜치로 바꾸십시오.
  • git reset --hard upstream/main는 기본적으로 자신의 분기 커밋 기록을 업스트림의 기본 분기 기록으로 재설정합니다. 필요한 경우 upstream/mainupstream/master 또는 upstream/dev 또는 해당 저장소의 기본 분기로 바꾸십시오.
  • git push --force는 기본적으로 새 커밋 기록을 자신의 포크로 푸시합니다. --force가 필요합니다. 이상적으로는 git이 푸시할 파일이 없으므로 오류를 표시하려고 합니다.

  • 주의



    하드 리셋은 로컬 커밋이나 변경 사항을 삭제할 수 있으므로 이 정리를 실행하지 않는 것이 좋습니다. (더러운) PR을 만들고 관리자에게 병합을 요청한 다음 메인 브랜치에서 이 프로세스를 수행합니다.

    좋은 웹페이지 즐겨찾기