일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 프로그래머스
- 노개북
- 최원영 저자
- Do it! 시리즈
- 알고리즘
- 자바스크립트
- 비전공자를 위한
- js
- 엘리스코딩
- 티스토리챌린지
- K-Digital Credit
- 자격증
- SQLD
- javascript
- 이해할 수 있는
- 톺아보기
- nomadcoders
- 제로베이스
- 노마드 코더
- CodeStates
- 구름edu
- 모던 자바스크립트 deep dive
- boj
- IT 지식
- 오블완
- 노마드코더
- 백준
- SQL 개발자
- 공부를 가장한 일기일지도
- 개발자북클럽
- Today
- Total
개발자를 희망하는 초보의 자기개발 이야기
git 커밋해도 잔디가 없을 때 본문
깃허브를 사용하다 보면, 열심히 커밋을 했는데도 잔디(컨트리뷰션 기록)가 없는 상황을 경험할 수 있다. 이번 글에서는 이런 문제를 해결하기 위한 방법들을 정리하고, 최근에 겪었던 브랜치 관련 잔디 누락 문제와 해결 방법까지 기록한다.
1. 깃허브의 이메일과 로컬의 이메일이 같은지 확인
가장 흔한 이유는 깃허브에 등록된 이메일 주소와 로컬 Git 설정의 이메일 주소가 다른 경우다.
1. 깃허브 [Settings] - [Emails]에서 등록된 이메일을 확인한다.
2. 터미널에서 아래의 명령어를 실행한다.
git config --global user.email
설정된 이메일 주소가 깃허브와 동일하지 않다면 아래의 명령어를 실행해 업데이트한다.
깃허브 이메일 주의점
나는 이메일 아이디에 'dev.co'와 같이 '.' 기호가 들어간다. 이 때 개발자는 대부분 Gmail을 사용할텐데 Gmail은 dev.co와 devco를 동일하게 취급하지만, 깃허브는 정확히 일치하는 이메일만 허용한다. 그래서 내 이메일을 인식하지 못했던 것. 둘 다 자주 사용하기 때문에 이메일을 추가 등록해서 해결했다.
2. 수정 없이 이미 커밋된 내역 잔디 다시 심기
기존 커밋의 이메일을 수정해서 터미널에서 아래의 명령을 실행해 커밋 내역을 확인한다.
git log --pretty=format:"%h = %an , %ar : %s" --graph
커밋 내역 중 앞 7자리가 해쉬코드다.
수정할 커밋을 선택하고 이메일을 변경한다.
git rebase -i -r 3358f84
그럼 새로운 화면이 열린다. 이 중 수정할 커밋의 pick 글자를 edit로 바꾸고 저장한다.
git commit --amend --author="이름 <본인 이메일>"
# 예시
git commit --amend --author="younghee <younghee@ogame.com>"
추가로 처리할 커밋이 있다면 아래 순서로 반복한다.
git rebase --continue
git commit --amend --author="이름 <본인 이메일>"
+브랜치명을 입력해서 강제 push한다
git push origin +브랜치명
3. main 이외의 브랜치에 커밋할 때
온라인 강의나 책을 통해 학습한 내용을 브랜치별로 나누어 관리하는 습관이 있다. 주제나 챕터별로 브랜치를 나눠서 필요한 주제를 다시 봐야될 때 해당 브랜치에서 바로 확인하는 방식이다.
그런데 최근에 알게 된 것은, main 브랜치나 main 브랜치로 병합된 커밋만 잔디로 기록된다는 점이다. 공식문서상으로도 Default 브랜치(일반적으로 main 또는 master)나 gh-pages(깃헙 페이지) 이외의 branch에 푸쉬를 하면 커밋이 잔디에 반영되지 않는다고 한다.
즉, 이 방식의 학습은 잔디를 심지 못한다. (ㅜㅠ)
4. PR 없이 fork 한 레포에 커밋할 때
온라인 강의 중 소스코드를 레포로 공개하는 경우가 있는데 이를 그대로 fork해서 커밋할 경우 잔디가 생기지 않는다.
부모 레포에 Pull Request시에 잔디가 생기기 때문에 개인 공부가 목적이라면 학습 기록은 새로운 레포를 생성해 push해야 한다.
5. Private 레포일 때
private레포에서 커밋한 내역은 기본적으로는 잔디가 보이지 않는다.
[Contribution settings] - Private contributions를 체크하면 private 레포의 잔디가 나타난다.
참고
- https://wellbell.tistory.com/43
- https://crispy-dev.tistory.com/entry/Github-private-%EB%A0%88%ED%8C%8C%EC%A7%80%ED%86%A0%EB%A6%AC-%EC%9E%94%EB%94%94-%EB%B0%98%EC%98%81-%EC%97%90%EB%9F%AC-rebase-%EC%8B%9C-preserve-merges-was-replaced-by-rebase-merges-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0
- https://velog.io/@erin_yoo/Github-%EC%BB%A4%EB%B0%8B-%EB%B0%98%EC%98%81%EC%9D%B4-%EC%95%88%EB%90%98%EB%8A%94-%EC%9D%B4%EC%9C%A0-%EC%9E%94%EB%94%94%EA%B0%80-%EC%95%88%EC%8B%AC%EC%96%B4%EC%A7%80%EB%8A%94-%EC%9D%B4%EC%9C%A0
'Tools > Git&GitHub' 카테고리의 다른 글
git merge 후 커밋 이력 합치기 (0) | 2025.03.02 |
---|---|
git 대소문자 폴더명/파일명 변경하기 (0) | 2025.01.30 |
git 작업 중 다른 브랜치로 이동(stash) (0) | 2025.01.02 |
git 레포 개인 저장소를 팀 저장소로 변경하기 (0) | 2024.10.14 |
직전 커밋 수정하기 (0) | 2024.10.12 |