저는 깃랩과 깃헙을 각각 다른 계정으로 사용했는데, 서로 다른 컴퓨터로 작업을 했기 때문에 문제가 없었습니다.
하지만 이번에 깃랩에서 작업하던 컴퓨터로 깃헙에 푸시를 하니 잔디가 안 쌓이는 문제가 생겼습니다.
깃 초기 설정과 관련된 이전 글
문제점
깃헙에 잔디가 누락되었습니다...
3개의 커밋을 했지만 잔디는 2개만 쌓인 것을 볼 수 있습니다.
처음엔 무엇이 문제인지 몰랐지만, 해당 컴퓨터에서 깃헙에 푸시를 한 것이 처음이라 깃 설정 문제라고 생각했습니다.
그래서 git log를 찍어보았고,
깃랩에서 사용하는 dongkeun으로 시작하는 email을 사용한 것을 확인할 수 있었습니다.
깃헙에는 해당 이메일이 없기 때문에 잔디가 쌓이지 않았습니다.
해결 방법
일단 저는 두 개의 컴퓨터로 깃랩과 깃헙을 각각 작업하기 때문에,
하나의 컴퓨터에서 깃랩과 깃헙을 모두 사용하기 위해서는 해당 레포지토리에서만 email을 변경해야 했습니다.
가장 간단한 해결 방법은 remote repository에서 local로 config를 관리하는 것입니다.
$ git config --local user.email {변경할 email}
--local 옵션으로 해당 프로젝트에서만 github에서 사용하는 email로 변경해줍니다.
이렇게 global config는 변경되지 않고 해당 레포지토리에서만 적용할 수 있습니다.
이 후 commit은 잔디가 잘 쌓이는 것을 확인할 수 있습니다.
하지만 지금껏 잘못된 email로 올린 commit들은 아직 누락되어 있습니다.
이미 올라간 커밋들을 바꾸기 위해 rebase를 사용합니다.
$ git rebase -i {변경할 커밋의 hash값}^
email 변경 전에 push한 commoit들의 pick을 edit으로 바꾸고 저장합니다.
이 후 적용할 이름과 이메일을 입력하고 저장합니다.
(해당 명령어 입력 후 :wq로 저장하고 나옵니다.)
$ git commit --amend --author="{이름} <{이메일}>"
// git commit --amend --author="DongKeun2 <devdk9695@gmail.com>"
이제 continue로 작업을 넘겨줍니다.
$ git rebase --continue
edit으로 변경한 커밋의 수만큼 continue를 끝내고 브랜치 앞에 +를 붙여
변경사항을 강제로 푸시해줍니다.
$ git push {remote} +{branch}
// git push origin +master
짜잔 커밋의 프로필이 달라지고 잔디도 살아났습니다.
'개발일기 > Git' 카테고리의 다른 글
[Git] 깃랩(Gitlab)에서 깃헙(Github)으로 커밋 옮기기 (Repository 이동) + 커밋 기록 삭제하기 (0) | 2022.11.22 |
---|---|
[Bash] Alias 등록하기 (0) | 2022.05.30 |
[Git 명령어] clone과 pull 알아보기 (0) | 2022.01.15 |
Git 기초 배우기 (0) | 2022.01.14 |
CLI 기초 명령어 배우기 (0) | 2022.01.12 |