Git

Git Pre-Commit 오류 해결

pnltoen 2022. 6. 24.
반응형

ML-Agents

Github Pre-Commit

본 포스팅의 내용은 추 후 Public ML-Agents Github 페이지에서 확인이 가능합니다.


Pre-Commit 이란?

Git의 Pre-Commit 훅(hook)을 이용하면 작성한 코드 또는 마크다운을 커밋할 때 마다 자동으로 특정 작업을 실행할 수 있습니다. 이번 경우 번역본 Commit전 자동으로 줄 맞춤 및 정렬 기능을 사용하기 위해 사용하였습니다. 

"Some Checks were not successful" 에러

ML-Agents Github에 PR (Pull & Request)를 하였는데 계속 X표시가 뜹니다. X 표시를 확인해보니 "Some Checks were not successful" 이라는 메세지를 확인할 수 있었습니다.

Detail를 확인해보니 trailing-whitespace-markdown 에서 failed와 exit code:1인 것을 확인해볼 수 있습니다.

사실 처음부터 알고 있었지만, config에서 분명 Localized Markdown은 exclude 처리가 되어 있어서 크게 신경쓰지 않고 진행했었습니다.해결방법은 간단합니다. Local에서 Pre-commit을 하고 push하기 하지만 생각보다 잘 되지 않았서 다음의 스텝을 따랐습니다.

​No module named 'Python3'

Python Path : C:\Users\"사용자명"\AppData\Local\Programs\Python\Python37

위의 경로로 이동하면 다음과 같이 Python.exe 파일이 있는 것을 확인할 수 있습니다.

 

python3.exe 파일은 없는게 정상입니다. 기존 python.exe를 복사해서 python3.exe로 붙여넣기하면 해결됩니다.

dotnet the application 'pack' does not exist

dotnet SDK 6.0.2의 버그 Github에 보니 6.0.1 버전을 manually 설치하면 해결한다고 해서 6.0.1을 설치하니 정상적으로 해결되었습니다.

​No module named 'yaml'

conda install pyyaml

위의 명령어로 pyyaml을 재설치하니까 해결되었습니다.

Pre-Commit failed

pre-commit run --all-files

위의 명령어로 pre-commit을 진행하니 변경된 즉 commit한 파일이 아닌 전체 ml-agents 폴더에 pre-commit이 적용되서 계속 failed가 나타나게 되었습니다. 오류 명령어를 확인해보니 경로자체도 문제가 있어서 다음과 같이 해결하였습니다.

cd ml-agents/ml-agents #__init_.py 경로 때문에 이동
pre-commit install # Git 폴더에 pre-commit 설치
git add .
git commit -m "유니티 최고" # 자동으로 pre-commit 진행

다음과 같이 pre-commit을 설치하고 전체 파일이 아닌 commit 할 파일에만 pre-commit을 진행하도록 변경하였습니다. 결과는? 당연히 성공... (아니 근데 pre-commit run --all-files 하라고 하셨는데...ㅠ 설마 이게 config 폴더 내에서 commit 할 파일만 놓고 말씀하신건가... 언어장벽이 이렇게나 높습니다 깔깔... 뭐 많이 배웠습니다...)

글은 짧지만 하루 + 반나절 정도 날린 것 같습니다. 화나서 새벽 5시까지 하다가 실패해서 다음 날 카페가서 해결하였습니다...ㅎ

Pre-Commit

 

반응형

댓글