몇 개월 전,
깃허브를 확인했더니
잔디가 전혀 입력되지 않은 빅! 이슈를 발견하고
멘붕이었던 적이 있다
그때 구글링을 통해 발견한 빛과 소금 같은 게시글!
github 잔디밭 안 심어지는 현상 해결 및 이미 커밋한 내용 반영하기
1. github 잔디 안심어지는 현상 해결 흔히 잔디밭이라고 불리는 github contributions(activity) 나의 저장소 중 어디라도 commit해서 push해서 반영 시키면 잔디가 심어져야하는데 심어지지 않을때가 있다.
wellbell.tistory.com
이 글 덕에 문제를 잘 해결했었다.
오늘 친구가 같은 문제를 겪고 있길래
저 블로그 글을 소개 해줬는데,
중간에 막혀서 안된다는거!!
일단 문제의 원인은 간단하다
컴퓨터에 등록 되어 있는 유저네임과 유저이메일이
레포지토리에 등록된 것과 일치하지 않아서!
이건 위 블로그에 적힌 대로 수정해주면 된다
그 이후에!
rebase를 할 때 발생하는 문제에 대해서 이야기를 좀 해보자
제대로 안 심긴 커밋의 해시코드를 찾고 난 이후에
그걸 활용해서
$ git rebase -i -p 해시코드
를 입력했는데 다음과 같은 오류창을 만난다면

넵
제 블로그에 오신 것을 환영합니다

원활한 검색을 위해 위의 메시지를 먼저 적어보겠다 ㅎㅎ
fetal: --preserve-merges was repalced by --rebase-merges
Note: Your `pull.rebase` configuration may also be set to 'preserve',
which is no longer supported; use 'merges' instead.
영어만 보면 아득해지는 사람.. 나야나...
사실 저 메시지에 모든 게 있었는데도 불구하고!
조각조각 검색을 하면서 엄청 헤맸다 ㅠ
결론만 말하면,
이제 --preserve-merges라는 명령어는 지원하지 않아서 발생한 문제!
처음 코드를 보고 아니.. 쓴 적도 없는 명령어 뭐 어쩌라고? 이랬는데 ㅋㅋ
저기에 -p라고 쓴게 바로 --preserve-merges의 줄임말!
(참고로 -i는 --interactive를 줄인 것)
그래서 시키는대로 명령어를 바꿔서
$ git rebase -i --rebase-merges 해시코드
를 적어주면 잔디 복구가 가능하다! ㅎㅎ
--rebase-merges도 뭔가 줄임말이 있겠지만... 못 찾았다 힣ㅎㅎ힣
그래서 정직하게 다 적어줬다 ㅎㅎ
사실 찾으면서도 확신하지 못한게
rebase != merge이기 때문인데..
확신을 얻으려고 여러 자료를 찾아보니까
맞는 것 같아서 시도 했고 결국 (친구의) 잔디를 살릴 수 있었다!
ㅋㅋㅋㅋㅋㅋ
내가 해당 문제를 겪었던 건
내 개인 레포지토리(깃허브)와 교육용 레포지토리(깃랩)의
계정이 달라서 바꾸는 과정에서 문제가 생긴거고
친구 역시 마찬가지긴 한데
명령어 문제는 컴퓨터를 바꾸면서 깃을 새로 깔다보니
몇 달전까진 잘 쓰던 명령어가 안 먹어서 생긴 일 같다.
무튼,
내가 참고했던 링크들을 남겨둘테니
구경해도 좋다 ㅎㅎ
(이 문제와 관련된 건 아니고, --preserve-merges가 --rebase-merges로 대체 됐다는 이야기)
git rebase --interactive --rebase-merges
Recorded by mbrehin
asciinema.org
Document Git 2.18 feature `--rebase-merges` · Issue #6 · rocketraman/gitworkflow
Git 2.18 has an option for interactive rebase called --rebase-merges, which will eventually replace the clunky --preserve-merges. This capability can be used to rebase a topic with merges interacti...
github.com
+ 그래도 안 될 때 는 나...
일단 더 찾아보겠습니다
또 안되네.. 하
edit으로 바꿔야하는 창도 안나오고 ㅠㅠ
그래서 계속 돌고 돌고 이상한 커밋만 쌓이고 잔디는 갱신이 안됐는데
새로운? 명령어를 찾았다
git rebase -i 커밋해시코드
이걸 했더니 해시코드 옆에 pick이 떠서 인서트 키를 누른 후 edit으로 변경할 수 있었다!
이렇게 !!!!!!!!

사실 이 커밋 이후에 rebase 된 게 있어서;; 조금 다른 안내문이 나왔는데
무시하고 일단 시키는대로 했다

git commit --allow-empty
그러면 맨 첫 블로그에서 말한 창이 또 나온다 ㅎㅎ
그냥 나와주면 된다
