1. 1. 상황 파악 (Log를 보자)
2. 2. Rebase를 해보자.
3. 3. 수정할 것들을 고르자
4. 4. 이제 내가 원하는 author를 입력하자
5. 5. rebase가 잘 됬다면
6. 6. 우리는 여러개를 edit 했다.
7. 7. 마무리
요즘 알고리즘 공부가 한참이다.
덕분에 간간히 Github에 잔디를 심고 있었는데...

이게 무슨 일인가? 최근 3주가 황무지가 아닌가?
git log를 확인해보니...
e9b8d8f - barley, 2일 전 : 학습중 : 15652 db8a179 - barley, 2일 전 : 학습 : 15651 df17bc0 - barley, 4일 전 : 프로그래머스 : 해시 3 cabcd88 - barley, 5일 전 : 프로그래머스 : 해시 2 3446e28 - barley, 5일 전 : 프로그래머스 : 해시 1 2c90238 - barley, 8일 전 : 학습 : 15649, 15650 c7e15c8 - barley, 9일 전 : 학습 : 6064, 1748 64cfb9a - barley, 9일 전 : 학습 : 1107, 1476, 2309 7c79e74 - barley, 10일 전 : 프로그래머스 : 42576 424d4d2 - barley, 2주 전 : 학습 : 2225 (1차 배열) 650da25 - barley, 3주 전 : 학습 : 2225 f7982ef - Jongkook, 3주 전 : 학습 : 17404
kotlin
다른 곳에서 도와달라고 한게 있어서 안드로이드 프로젝트를 클론한 적이 있었다.
이때 Global Author를 "barley"로 해놨던 것이다.

다른 곳에 심은 잔디를 다시 가지고 와야겠다.
바로 git rebase로.
rebase가 처음이라 조금 긴장이 되지만 어쩌겠는가. 해야지
MadPlay's MadLife 블로그가 큰 도움이 되었고 자료를 참고했음을 알린다.
1. 1. 상황 파악 (Log를 보자)
$ git log --pretty=format:"%h - %an, %ar : %s" e9b8d8f - barley, 2일 전 : 학습중 : 15652 db8a179 - barley, 2일 전 : 학습 : 15651 // 생략 650da25 - barley, 3주 전 : 학습 : 2225 f7982ef - Jongkook, 3주 전 : 학습 : 17404
kotlin
2. 2. Rebase를 해보자.
Rebase가 뭔가. Re + Base. 재설정이다. 그럼 재설정할 포인트가 필요하다.
상단 log를 보자.
Commit hash값이 "f7982ef"일 때는 멀쩡했다.
그러면 이 시점을 "다시 base"로 잡으면 된다.
$ git rebase -i -p f7982ef warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead. Stopped at 650da25... 학습 : 2225 You can amend the commit now, with 학습 : 2225 git commit --amend Once you are satisfied with your changes, run git rebase --continue
kotlin

3. 3. 수정할 것들을 고르자
위 이미지에서 원하는 커밋 해쉬를 pick이라고 적혀있는 것을 edit라고 고치면 된다.
다 수정했다면 :wq를 입력해서 저장 후 종료하자.
아래는 그 예시다. 위 이미지와 비교해보자.

4. 4. 이제 내가 원하는 author를 입력하자
$ git commit --amend --author="당신의이름 <sample@email.com>" [HEAD 분리됨 f59d10a] 학습 : 2225 (1차 배열) Author: Jongkook <conquerex@gmail.com> Date: Thu Mar 19 19:08:35 2020 +0900 // 주저리 주저리는 생략 git config --global user.name "내 이름" git config --global user.email you@example.com 이렇게 한 다음, 이 커밋에 사용한 신원 정보를 다음과 같이 해서 바꿀 수 있습니다: git commit --amend --reset-author 5 files changed, 65 insertions(+), 18 deletions(-) create mode 100644 out/production/JavaSample/part1challenge/Algorithm2225_2.class create mode 100644 src/part1challenge/Algorithm2225_2.java
kotlin
주의할 것은 위 예시에서 이메일은 반드시 괄호 안에 넣어야 한다는 것이다.
5. 5. rebase가 잘 됬다면
$ git rebase --continue warning: git rebase --preserve-merges is deprecated. Use --rebase-merges instead. Stopped at 7c79e74... 프로그래머스 : 42576 You can amend the commit now, with git commit --amend Once you are satisfied with your changes, run git rebase --continue
kotlin
6. 6. 우리는 여러개를 edit 했다.
4번과 5번을 반복적으로 수행한다.
끝이나면 아래와 같은 메세지가 보일 것이다.
Successfully rebased and updated refs/heads/master.
kotlin
7. 7. 마무리
git이니깐 push를 해야한다.
주의할 점은 강제로 push를 해야해서 브랜치 앞에 플러스(+)를 넣어야 한다.
$ git push origin +master
kotlin
자... 이제 잔디를 보러갈까??

'Tool' 카테고리의 다른 글
Stack Overflow 카피 사이트. 더 이상 보기 싫다면? (0) | 2021.04.15 |
---|---|
DBeaver로 MySQL 다뤄보기 (on MAC M1) (4) | 2021.04.04 |
[Git] 특정 파일들만 원복을 하고 싶다면? (0) | 2018.04.03 |
git의 내 로컬과 master가 충돌, 그런데 내 변경된 부분을 원복하고 싶다면?? (0) | 2017.02.24 |
안드로이드 스튜디오에 한글이 나오지 않아요 (0) | 2016.11.11 |
Comment