일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- git #intellij
- 네트워크 기초
- 회고록_코드스테이츠
- 에러해결
- 코딩테스트
- 코드스테이츠 #
- 백엔드로드맵
- mapstruct
- 회고록
- JAVA기본
- 사용자계정 #WSL2
- 공부방식
- 롤중독
- 정리글 작성법
- 인터넷 #ISP
- 호스트주소 #Host주소
- WSL #Linux #ubuntu
- 코드스테이츠 #회고록
- 글 foramt
- Java환경
- 시작 #꾸준히 #과하지않게
- 몰입학습 #몰입
- jvm
- 회고
- 회고 #주간회고
- Git #회고록
- String
- OOP
- 피드백
- WSL2 #권한
- Today
- Total
느리더라도 꾸준히
Github 잔디가 제대로 심어지지 않을때 본문
요약
본문
오늘 깜짝놀란게, 4월동안 커밋한 자료들이 분명히 있는데, 잔디가 심어지지 않은 것을 발견했다.
레포지토리의 표시한 부분을 누르면, 커밋한 내용들을 볼수 있다.
Case1
혹시 내 작업이 private Repository에서 작업하기 때문일 수 있다. 그래서 아래 그림처럼 잔디가 private 작업도 반영하도록 설정해주었다. 결과는?
다른 블로그를 보면 과거에 커밋한 것도 다시 잔디가 심어진다고 했는데 나는 아무 변화도 일어나지 않았다...
Case2
여러 블로그들을 본 결과 github와 로컬 서버 git의 username 또는 useremail이 다르면 생길수 있는 문제일수 있다고 하여 확인해 보았다.
깃허브
로컬 git
해당 프로젝트 터미널에서 아래 명령어를 입력해준다.
git config --list
깃허브는 gmail.com 으로 깃은 google.com 으로 설정되어 있었다.
참고
git config --global user.email "내 이메일"
위 명령을 통해 PC 내 모든 유저이메일이 변경된다.
git config user.email "내 이메일"
현재 프로젝트 내에서만 내 이메일을 변경해 준다.
github : xx@gmail.com 과 git : xx@google.com 이므로 다르다. goolgle.com을 내가 잘못 만든 것이니, git bash에서 global로 xx@ gmail.com으로 바꾸어 주자.
Reposityory 커밋 상태를 보면 알맞은 계정이 뜨고, 잔디에도 커밋내용들이 들어가는 것을 확인 할 수 있었다.
과거에 내가 만든 계정과 이메일을 수정만 해주면 해결될거 같은데, 해결할 방법이 없을까?
해결방안
git 과거 commit의 이름과 이메일 변경하기
아래 스크립트는 모든 과거 히스토리를 뒤져서 이메일과 이름을 변경해준다.
기존의 커밋을 덮어씌우는 것이므로, 굉장히 위험한 행위니까 조심해서 수행한다고한다..!
git filter-branch --env-filter '
WRONG_EMAIL="wrong@example.com"
NEW_NAME="New Name Value"
NEW_EMAIL="correct@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ]
then
export GIT_COMMITTER_NAME="$NEW_NAME"
export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ]
then
export GIT_AUTHOR_NAME="$NEW_NAME"
export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
이후
git log
로 확인해본 후
git push -f
- f 옵션을 줘서 push해 주자.
-f 옵션이란?
The –force flag allows you to “force push” the changes you have made to a repository. The force flag deletes any changes that may have occurred since you last pulled code from the repository.
이전 pull 한 상태 이래로 발생한 변화들을 모두 없애며, 변화값들을 모두 force push 하는 것인것 같다.
아무튼 결과적으로 이전 commit들의 이메일을 수정해줌으로써 잔디를 되살릴수 있었다!
출처: https://lifeignite.tistory.com/49 [Lifeignite]
'Git&Github' 카테고리의 다른 글
[Github] (push, merge) 이전에 작업한 코드 내역 확인해보기 (0) | 2023.02.22 |
---|---|
회고록(6) - Git (0) | 2022.10.30 |