git-secrets의 설정은commiit를 방해할 때의 대책을 단계적으로 총결하였다.

배경.


Sourcetree가 commiit를 처음 시도했을 때 다음과 같은 오류가 발생했습니다.
git: 'secrets' is not a git command. See 'git --help'.
를 조사한 결과 이 오류 메시지 중secretsgit-secrets을 가리킨다.상당히 오랜 시간을 희생하고 각양각색의 대책을 시도한 결과 드디어 commiit가 되었다.
그래서 이 기사에서

git-secrets의 설정에 따라git가 잘 작동하지 않을 때의 대책


시도해야 할 우선도가 높다고 느낀 것에서 단계적으로 귀결되었다.


전제 지식


좋은 것, 좋은 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것, 나쁜 것?


https://github.com/awslabs/git-secrets git-secrets는 기밀 정보를 포함하는commiit를 실행하지 않기 위해codes를 검증하는 안전 도구입니다.AWS에 대한 AQUICE 키 등이 공개적으로 사용되면 악용될 수 있다는 점에서 이런 도구를 개발했다.

환경 설정


컨디션
릴리즈
MacOS
Big Sur Version 11.1
Sourcetree
Version 4.1.1
Git
Version 2.24.3 (Apple Git-128)

1단계:git-secrets 설치


우선git의config 파일에 git-secrets에 대한 설명이 있지만 가져오지 않았을 수도 있습니다 git-secrets.vi ~/.gitconfig를 통해 확인할 수 있다.
따라서 Homebrew를 사용하여 설치git-secrets를 시도해 본다.
brew install git-secrets

설치됐으니 해결하지 않고 2단계에 들어갑니다.


2단계:git와git-secrets의 패스 통일


이번 오류는 주로 Sourcetree라는 Git 클라이언트의 관리 아래 발생했다.
그 이유는 gitgit-secrets의 경로가 다르거나 Sourcetree에 삽입된 Giit를 초기에 설정했기 때문이다.
이 문제를 해결하기 위해 아래의 문장을 참고하였다.
https://dev.classmethod.jp/articles/startup-git-secrets/#toc-sourcetree
카탈로그부터'Sourcetree도 사용해 보자'는 단락에서 한 단계를 정리했다.
(※ 참고로 젠을 운영하는 클래식 메트로드의 기사입니다. 정보량이 엄청납니다.)

아직 해결되지 않으면 3단계로 들어간다.


3단계: SIP 사용 안 함, git-secrets 링크


이 단계는 많은 시간을 썼다.
SIP 는 System Integrity Protection 으로 MacOS 버전 이후 도입된 보안 대책의 기능입니다.이것은 git 폴더에 대한 접근을 제한하고 SIPgit-secrets를 일시적으로 비활성화합니다.상세한 절차는 아래의 문장을 참고하시오.
https://qiita.com/yamaryu0508/items/d959dc32442b08b8a0a4#system- integrity-protetonsip 비활성화
SIP는 보안에 중요한 역할을 합니다.작업이 끝난 후에는 반드시 다시 사용해야 한다.

여기까지만 해보고 해결하지 못하면 최종 단계에 들어간다.


마지막 단계:git-secrets 검증 건너뛰기


git로commiit의 응급처리를 위한 대책입니다.
https://github.com/awslabs/git-secrets#skipping-validation
위의 공식 Readme에 설명된 옵션을 사용합니다.

-- no-verify 옵션


상기 옵션을 commit 또는 merge에 첨부하면 git-secrets 기반 검증을 무효화할 수 있습니다.

예제


git commit -m "バリデーションをスキップ" --no-verify
이 조작git을 통해 명령을 실행할 때git-secrets는 실행하지 않습니다.
다만 이렇게 되면 git-secrets의 은혜를 누릴 수 없다.AWS를 사용한다면 이전 단계에서는 문제를 해결하려는 곳이었다.
AWS를 사용할 가능성이 없으면 삭제git-secrets와 관련 설정을 통해 오류를 해결할 수 있습니다.

SOTD (Summary Of The Day)


나는 문제를 해결하기 위해 먼저 제3자가 쓴 글과 블로그 등을 찾았는데 결과git-secrets는 공식 창고 페이지에서 이번 오류를 해결했다.

정보의 정확성과 신뢰도를 감안하여 앞으로 주요 출처를 검사한 후 모르는 부분이 있으면 제3자의 발송 정보를 참고할 수 있습니다!