깃허브를 이용해서 다른 사람들과 협업을 하고 프로젝트를 진행할 때 내 커밋 내역에 그동안 커밋했던 것들이 반영이 되지 않는 경우
팀프로젝트 레포지토리 contributors에 내 이름이 없는 경우
이런 상황을 겪으면 굉장히 당황할 것이다
나도 이런 상황을 겪었었다
당황했던 이유는 두 번의 프로젝트를 진행했는데 첫 번째 프로젝트를 진행했을 때 분명히 커밋 내역이 잘 반영되기도 했고 문제가 없었는데,
나는 인위적으로 깃허브의 내 정보를 바꾼적이 없는데 갑자기 커밋내역이 반영이 되지 않았기 때문이다
일단 왜 커밋내역이 반영되지 않았는지 원인을 찾고, 그 원인을 해결할 수 있는 방법들을 찾기로 했다
1. 커밋 내역이 반영되지 않는 상황
git log를 확인했을 때 보여진 화면이다
내 깃허브 이름 옆 괄호안에 내 깃허브 이메일이 들어가는 자린데 이상한 형태의 이메일이 들어가있다
구글과 stack of flow를 찾아보니 맥북 유저들중에 저런식으로 이메일 형식이 들어가있는 사람들의 케이스를 몇개 찾을 수 있었다
2. 깃허브 커밋 내역이 반영되기 위한 조건
(1) 커밋할 때 사용한 이메일 주소(local repository의 user.email)가 github 계정의 이메일 주소와 같아야 한다
(2) fork를 한 commit은 적용되지 않고 독립적인 repository에서 이루어진 commit 이어야 한다
- 이 때 fork를 실행한 commit이 그래프에 나타나게 하려면 fork한 repository의 parent repository에 merge 될 수 있도록 open pull-request 여야 한다
(3) 커밋을 다음으로 만들어져야 한다
- repository의 default branch(보통은 master)
- gh-pages branch(hithub page branch)
추가적으로 다음중에서 최소한 한 개 이상은 조건이 맞아야 한다
(1) repository의 협업자(collaborate)이거나 해당 repository를 가지고 있는 organization의 멤버여야 한다
(2) repository에 star를 주어야 한다
(3) repository의 pull request한 issue를 열어봐야 한다
(4) repository를 이미 fork한 상태여야 한다
이러한 조건들이 만족이 되어야 깃허브 커밋 내역이 반영이 되는데 이를 자동으로 검사해주는 링크도 있다
http://contribution-checker.herokuapp.com
GitHub Contribution Checker
How does this work? The GitHub Contribution Checker uses the GitHub API to check the documented criteria used for counting a commit as a contribution. It is currently only possible to check commits authored in public repositories. The following OAuth scope
contribution-checker.herokuapp.com
위 링크에서 내 프로젝트 레포지토리를 검사했을 때 나온 결과이다
밑에 하나이상 참이어야 하는 규칙은 만족됐지만 모든 조건이 만족되어야 하는 위의 조건은 두 가지가 만족되지 않았다
역시 이메일에 관한 내용이다
그렇다면 내 커밋내역이 반영되지 않은 이유는 바로 커밋에 들어간 이메일과, 깃허브에 등록된 내 이메일이 일치하지 않기 때문이라는 것을 알 수 있다
3. 해결방법 -> 커밋에 들어가는 이메일을 깃허브 이메일과 동일하게 변경
깃허브 -> settings -> email -> Add email address
순서로 접속하면 내 깃허브 계정에 등록된 이메일을 확인할 수 있다
내 깃허브 계정에 등록된 이메일을 확인한뒤 커밋에 들어가는 이메일을 동일하게 변경해준다
이렇게 터미널에 입력하면 이메일 주소를 변경할 수 있다
이렇게 까지 진행을 했다면 지금 이 시점부터 커밋하는 내역들은 올바르게 반영된다
그러나 이미 커밋을 한 내역들의 반영을 원한다면 문제 해결이 조금 복잡해진다
다음 게시글에서 알아보도록 하자
'Error Log' 카테고리의 다른 글
connect to host github.com port22: Operation timed out 에러 (0) | 2022.01.31 |
---|---|
자바스크립트 style 이용하여 height값 지정하기 (0) | 2021.06.11 |
Github) 이미 반영된 커밋의 이메일 수정하기 (0) | 2021.06.07 |
Typescript Error) Objects are not valid as a React child (0) | 2021.05.31 |