728x90
⚠️주의⚠️ 잔디밭은 전혀 어디에도 이득은 없으나 그저 제 자기만족과 의문으로 시작된 게시글임을 밝힙니다 (괜히 찔려서 스스로 강조해봅니다)
분명 작업했는데 잔디엔 흔적이 없다.. 왤까.. 이젠 잔디에 별 감흥이 없는 나지만 그래도 궁금하다 씨앗을 심었으니 푸르딩딩하게 반영 하고싶다!
github > settings > emails에 설정한 이메일 정보와 git에서 설정한 내 정보가 동일해야 한다.
git config --list
확인해봤을 때 동일하게 설정이 되어있지 않을 가능성이 높다. user.name, user.email을 github과 동일하게 설정해주어야 한다.
user.name의 경우 무엇을 말하는가?
그럼 이제 일치시키자
git config user.email "이메일"
이름도 동일하지 않은 경우가 있으니 user.name으로 함께 설정해주면 된다.
그런데, 특정 레포지토리 뿐만 아니라 local 환경에 전역으로 설정하고 싶다면?
git config --global user.email "이메일"
이전 커밋 작업물들은 어떻게 연결할까?
git log --pretty=format:"%h - %an, %ar : %s"
우선 연결할 커밋을 확인한다.
그런데 저 format은 정말 다 처음봐서 찾아봤다..
git log는 log 확인하는 우리가 항상 자주 사용하는 부분이고, --pretty=format: log를 어떻게 출력할지 정의할 수 있다.
뒤에 붙는건 옵션들이라서 설정할 수 있다.
- %h: 짧은 길이의 커밋 해시코드
- %an: 작성자 이름
- %ar: 작성자의 상대적인 날짜
- %s: 제목 및 요약
이 설정을 바탕으로 log의 정보가 다음과 같이 나온다.
59887f4 - KH2Wone, 2 days ago : Add: bmi 마크업
fcfae72 - KH2Wone, 5 days ago : Add: 메인 페이지 화면 기초 구현
깔-꼼하게 볼 수 있다!
git의 링크를 참조!
그중 연결할 해시코드를 골라 rebase를 해준다.
git rebase -i -r 해시코드
구글링하면 -r 대신 -p로 설명되어 있는 경우가 있지만 그건 더이상 지원하지 않는다. 그래서 에러 발생한다.
에러발생 ⛔️ : -p (--perserve-merges) 대신에 요걸 사용하십쇼
fatal: --preserve-merges was replaced by --rebase-merges
Note: Your `pull.rebase` configuration may also be set to 'preserve',
which is no longer supported; use 'merges' instead
에러메세지에서 알려준대로 --rebase-merges를 -p 대신 입력하거나, -r을 입력해주면 된다.
git rebase -i -r 해시코드
pick -> edit
수정할 커밋들 목록이 나오고, pick 대신 edit으로 변경해서 :wq 저장!
author 변경해주기
git commit --amend --author="이름 <이메일>"
continue
git rebase --continue
2개 이상일 경우 위에 순서를 계속 반복해주면 마지막에 Successfully rebased and updated refs/heads/main 이라고 알려준다.
push
git push -f origin main
branch에 강제 push까지 하면 끝이다.
git push origin +main 플러스를 붙여주면 강제 push랑 동일하다.
728x90
'Git & Github' 카테고리의 다른 글
[Git] npm package-lock.json conflict (충돌해결 및 존재이유) (2) | 2022.02.19 |
---|---|
[github] 홈페이지 만들기 (github pages, 웹 호스팅) | github pages 404 오류 (0) | 2021.10.26 |
[GIT] commit 날짜 및 시간 변경하는 방법(amend) (2) | 2021.10.03 |