잔디가 심겨지지 않을 경우 확인사항
잔디가 심겨지지 않을 경우 확인사항
종종 잔디가 안심어지는 경우가 있습니다. 왜 그럴까요?
- 이메일 주소가 GitHub 계정과 연관되어야 합니다.
- commit은 Fork한 레파지토리가 아닌 독립적인 레파지토리에서 이루어져야 합니다.
- commit은 기본 브랜치(main)에서 이루어져야 합니다.
1. 이메일 확인
commit 하고 push 하면 잔디가 심어져야 하는데 나의 저장소 중 어떤 레파지토리에는 잔디가 심어지지 않는 경우가 있습니다. 이유는 GitHub 계정에 등록된 이메일과 commit push 를 날리는 로컬 환경의 이메일 설정이 다르기 때문입니다. 제대로 설정이 되었는지 확인해 보도록 하겠습니다.
- Settings > Emails로 들어갑니다.


- 등록된 이메일을 확인합니다.

- 로컬 환경에서의 git에 등록된 이메일을 확인합니다.
git config --list
git config --list
만약, 여기서 email 값이 다르다면 commit을 하더라도 잔디가 심어지지 않습니다.

1.1 작업하는 폴더의 email 값 변경
git config user.email "email address"
git config user.email "email address"
1.2 로컬 환경의 git 전체에 email 값 설정
git config --global user.email "email address"
git config --global user.email "email address"
1.3 GitHub에 설정한 이메일 변경
Settings > Emails에서 이메일을 추가합니다. 단, 이 방법은 추천하지 않습니다.

2. 독립적인 레파지토리가 아닐 때
fork 해온 레파지토리는 pull request를 할 때만 GitHub에 잔디가 심어지고 commit은 잔디가 심어지지 않습니다.
이때, 기존에 fork 해온 레파지토리를 지우고 다시 레파지토리를 생성하여 fork로 가져왔었던 레파지토리를 새롭게 clone하여 commit하고 push하는 방법이 있습니다. 하지만 이 방법은 이전에 commit한 기록들이 다 날아가게 됩니다.
우리는 fork 없이 레파지토리를 복사하여 내 GitHub에 새로운 레파지토리로 만들어 보겠습니다. 이 방법은 이전에 commit을 했던 기록도 함께 복사되어 잔디를 심을 수 있습니다.
- GitHub에 새로운 레파지토리를 생성합니다.

- 터미널을 열고 복사하고자 하는 레파지토리를 bare clone 합니다.

$ git clone --bare 복사하고자 하는 레포 주소
$ git clone --bare 복사하고자 하는 레포 주소
- 로컬에 레파지토리가 다운되어 있습니다. 이제 해당 파일로 이동합니다.

cd 복사한 레포.git
cd 복사한 레포.git
mirror-push
로 새로운 레파지토리에 push 합니다.
git push --mirror 새로 생성한 레포 주소
git push --mirror 새로 생성한 레포 주소
- 처음에 임시로 생성했던 로컬 레파지토리를 삭제합니다.
cd ..
rm -rf 복사한 레포.git
cd ..
rm -rf 복사한 레포.git
3. main 브랜치가 아닐 때
main 브랜치가 아닌 일반 브랜치로 push를 하는 것 역시 잔디에 적용되지 않습니다. 일반 브랜치를 마스터 브랜치로 merge를 해주셔야 합니다.
단, Repository > Settings > Branches 에서 Default branch를 변경해주시면 해당 브랜치의 작업 내역이 잔디에 표시됩니다.

이렇게 3가지 설정을 완료하시면 예쁘게 심어진 잔디를 볼 수 있습니다. 이제 잔디가 푸르르게 자랄 수 있도록 잘 관리해주세요!