개발환경, 도구/Git

Github 누락된 잔디 살리기

gu9gu 2023. 11. 10. 01:11

1.  로컬에서 설정된 이메일과 Github 원격에 설정된 이메일이 다른 경우 push를 해도 잔디가 심어지지 않는다.

우선 아래 설정을 통해 이 후 커밋 푸쉬 내역에 대해서 잔디가 심어지도록 한다.

git config --list  // 이메일 확인

git config user.email "이메일" // Github에 설정된 이메일로 맞춰준다.

git config user.name "이름" // Github에 설정된 이메일로 맞춰주는데, 굳이 안해도 되는 거 같음. 하지만 했음

git config user.username "이름" // Github에 설정된 이메일로 맞춰주는데, 굳이 안해도 되는 거 같음. 하지만 했음

 

 

2. 그리고 이미 다른 이메일로 설정된 상태에서 커밋,푸쉬하여 누락된 잔디를 살려보자.

 

git log에서 커밋 내역의 해쉬값 확인 ( q 누르면 나가짐)

git log --pretty=format:"%h = %an , %ar : %s" --graph

 

 

git rebase -i -r 가장최근커밋내역의해쉬값 // 이걸로 안 하고

  or

git rebase -i -r --root  // 이렇게 했음. 어떤 해시값을 하든 모든 내역이 나와서 그 중 수정할 내역에 대해서 edit으로 바꾸면 되는 거 같음.

PS D:\workspace\IdeaProjects\AlgorithemTest> git rebase -i -r --root                                           
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.

변경 내역이 있으면 커밋 또는 stash 처리하라고 나옴.

저는 rollback하고 delete 처리 함.

 

 

처리 했으면 다시 rebase

git rebase -i -r --root // 아래와 같은 내용으로 vim이 열림

 

변경할 커밋 내역을 pick 대신 edit으로 수정

(인텔리제이 terminal 창 새로 길이를 늘려놓고 하면 좋다. 아래 내역으로 화살표 이동하면 vim이 이상해짐.. q! 나가고 다시 했음)

 ( a 누르고 편집 후 esc 누르고 :wq enter)

 

(커밋 내역에서 이메일 수정)여기서 오타 난 걸로 계속 수행해서 첨부터 다시 했음.. 오타 주의

git commit --amend -author "변경할 이름 <변경할 이메일>"

 

아래 vim이 나오면 변경할 우리는 이메일만 변경해줬고 내용 변경할 거 없으니 :q로 그냥 나가주면 됨

:q

 

 

 

다음 변경할 커밋할 내용으로 넘겨줌

 

git rebase --continue

 

 

위에서 edit으로 바꿔준 수만 큼 반복

git commit --amend -author "변경할 이름 <변경할 이메일>"

:q

git rebase --continue

 

더 이상 없으면 아래와 같이 나옴.

PS D:\workspace\IdeaProjects> git rebase --continue  
fatal: No rebase in progress?

 

강제 푸쉬를 위해 +를 붙여준다.

$ git push origin +브랜치이름 // git push origin +master  OR  git  push -f origin master

 

 

 

참고

[GIT] GitHub 잔디 누락 현상 및 해결 방법 (tistory.com)

github 잔디밭 안 심어지는 현상 해결 및 이미 커밋한 내용 반영하기 — wellbell의 개발일기 (tistory.com)