Skip to main content

푸시 보호로 차단된 분기 푸시

secret scanning의 푸시 보호 기능은 리포지토리에서 유출된 비밀로부터 사전에 보호합니다. 차단된 푸시를 해결할 수 있으며, 검색된 비밀이 제거되면 명령줄 또는 웹 UI에서 작업 분기에 변경 내용을 푸시할 수 있습니다.

엔터프라이즈에 GitHub Advanced Security에 대한 라이선스가 있는 경우 GitHub Enterprise Server의 조직 소유 리포지토리에서 Secret scanning를 사용할 수 있습니다. 자세한 내용은 "{% data variables.product.product_name %}의 secret scanning 정보" 및 "GitHub Advanced Security 정보"를 참조하세요.

secret scanning에 대한 푸시 보호 정보

secret scanning의 푸시 보호 기능은 변경 내용을 리포지토리에 푸시하기 전에 비밀을 검색하여 보안 누출을 방지하는 데 도움이 됩니다. 푸시 보호를 사용하도록 설정하면 secret scanning은 신뢰도가 높은 비밀(낮은 가양성 비율로 식별됨)에 대한 푸시도 확인합니다. Secret scanning은 검색한 비밀을 나열하므로 작성자는 비밀을 검토하고 제거하거나 필요한 경우 해당 비밀을 푸시할 수 있습니다. 푸시 보호가 지원되는 보안 비밀 및 서비스 제공업체에 대한 정보는 "Secret scanning 패턴"을 참조하세요.

비밀이 진짜인지 확인한 경우 다시 푸시하기 전에 표시되는 모든 커밋에서 분기에서 비밀을 제거해야 합니다.

GitHub이(가) 푸시해도 안전하다고 생각되는 비밀을 차단하는 경우 비밀을 허용하고 이를 허용해야 하는 이유를 지정할 수 있습니다. 비밀에 대한 푸시 보호를 우회하는 방법에 대한 자세한 내용은 명령줄 및 웹 UI에 대해 각각 "차단된 비밀을 푸시할 수 있도록 허용" 및 "비밀에 대한 푸시 보호 무시"를 참조하세요.

명령줄에서 차단된 푸시 해결

푸시 보호를 사용하도록 설정된 secret scanning을(를) 사용하여 리포지토리 또는 조직에 지원되는 비밀을 푸시하려고 하면 GitHub이(가) 푸시를 차단합니다. 분기에서 비밀을 제거하거나 제공된 URL을 따라 푸시를 허용할 수 있습니다.

참고:

  • git 구성이 현재 분기뿐만 아니라 여러 분기에 대한 푸시를 지원하는 경우 푸시되는 추가 및 의도하지 않은 참조로 인해 푸시가 차단될 수 있습니다. 자세한 내용은 Git 문서의 push.default 옵션을 참조하세요.
  • 푸시 시 secret scanning이(가) 시간 초과되면 GitHub은(는) 푸시 후에도 커밋에서 비밀을 검사합니다.

차단된 비밀이 분기의 최신 커밋에 의해 도입된 경우 아래 지침을 따를 수 있습니다.

  1. 코드에서 비밀을 제거합니다.
  2. git commit --amend를 사용하여 변경 내용을 커밋합니다.
  3. git push를 사용하여 변경 사항을 푸시합니다.

비밀이 Git 기록의 이전 커밋에 표시되는 경우에도 비밀을 제거할 수 있습니다.

  1. git log를 사용하여 푸시 오류에 나타난 커밋이 기록에서 가장 먼저 발생한 커밋을 확인합니다.
  2. git rebase -i <commit-id>~1을 사용하여 대화형 다시 지정을 시작합니다 . 는 1단계의 커밋 ID입니다.
  3. 편집기에 표시되는 텍스트의 첫 줄에서 pickedit로 변경하여 편집할 커밋을 식별합니다.
  4. 코드에서 비밀을 제거합니다.
  5. git commit --amend를 사용하여 변경 사항을 커밋합니다.
  6. git rebase --continue를 실행하여 다시 지정을 완료합니다.

웹 UI에서 차단된 커밋 해결

웹 UI를 사용하여 푸시 보호가 사용하도록 설정된 비밀 검사를 사용하는 리포지토리 또는 조직에 지원되는 비밀을 커밋하려고 하면 GitHub이(가) 커밋을 차단합니다.

페이지 상단에 비밀의 위치에 대한 정보가 있는 배너가 표시되며, 파일에도 비밀에 밑줄이 표시되어 쉽게 찾을 수 있습니다.

비밀 검사 푸시 보호로 인해 차단된 웹 UI의 커밋을 보여 주는 스크린샷

웹 UI에서 차단된 커밋을 해결하려면 파일에서 비밀을 제거하거나 보호 무시 드롭다운을 사용하여 비밀을 허용해야 합니다. 웹 UI에서 푸시 보호를 무시하는 방법에 대한 자세한 내용은 "비밀 검사를 사용하여 푸시 보호"를 참조하세요.

비밀이 진짜인지 확인하는 경우 파일에서 비밀을 제거해야 합니다. 비밀을 제거하면 페이지 상단의 배너가 변경되고 이제 변경 사항을 커밋할 수 있음을 알려줍니다.