매일 GITHUB 만 쓰다가 회사에서 GITLAB을 쓰네??
하지만 같은 git이니까 뭐 차이 없겠지 하고 아무렇지 않게 사용중이었다.
스크립트 하나를 공통으로 만들라는 업무를 받아서 git 그룹에 있는 레포에 하나의 새로운 프로젝트를 만들어서
연동도 하고 첫 푸시도 잘 됬다
첫 푸시 내용은 "추가: :tada: 첫 커밋" 이라고 푸시를 했더니 잘 됬다 그래서 어 뭐 큰 차이는 없구만 하고 사용중에.....
위와 같이 에러가 났다 여러번을 시도 했지만 일단 안되는걸로.....
안되는 이유는 위와 같이
remote: GitLab: Commit message does not follow the pattern '(Revert*|Merge*|[feat|fix|refactor|docs|test|etc]: [^\s].*)'
커밋 메세지가 패턴에 안 맞는다는 건데 ㅠㅠ 이번에 내가 커밋한 메시지를 확인했다.
git log
위와 같이 치면 내가 커밋한 마지막 메시지랑 로그들을 볼 수 있다.
별 내용 없는뎁쇼???.... 작업중 ??? 이모지??? 그정도인뎁숑 뭐가 틀렸다는 거지???ㅠㅠ
일단 안되니까 커밋을 되돌린다.
git reset HEAD
위의 명령어로 되돌린다. 만약 여러개의 커밋이 있었다고 가정하면 뒤에 ~2 같이 숫자를 붙이면 갯수 만큼 되돌릴수 있다.
Ex) git reset HEAD~4
그 후에 내부적으로 커밋에 대한 규정이 있나 봤더니..일단 어디에 있는지는 찾지 못했지만
다들 feat: 커밋내용 과 같이 커밋중이었고 나도
feat: 작업중 이라고 커밋후 푸시했더니 잘 되었다....
아마 내부 메세지 정책이 있는거 같다.
그리고 내부 규칙? 같은걸 찾아 보다가 commit 에 대한 규칙 8개를 발견했다. 이는 꼭 해야 되는건 아니고 권장 사항인거 같다.
https://climbplant39.tistory.com/36
Commit Message 규칙
Commit 메시지 규칙은 커밋 로그 가독성, 협업 리뷰 과정, 코드 유지 보수를 위해 진짜 꼭 필요하다. Commit Message 규칙 8개 제목 본문 한줄 띄어 분리 제목 50자 이내 제목에 마침표 금지 제목은 구문
climbplant39.tistory.com
위의 글은 재미로 읽어 보는것도 좋을것 같다.
참고
https://docs.gitlab.com/ee/user/project/repository/push_rules.html#validate-commit-messages
Push rules | GitLab
Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.
docs.gitlab.com
를 참고하니 뭔가 있긴한가보다....