본문 바로가기

공부내용 정리/git

github 잔디 안심어질 때

커밋, 푸쉬를 해도 잔디가 안심어질 때 rebase를 통한 해결 방법입니다.

먼저 git log --oneline 으로 히스토리를 확인합니다.

그런 다음 잔디가 안심어진 부분의 바로 앞 부분의 커밋ID를 복사합니다.

 

위의 사진을 보면 06fcc1c convert test - wav -> base64 encoding - hwp read 까지 잔디가 심어졌다고 가정할게요!

그 이후 커밋. 그러니까 2f2ab74 부터 잔디가 안심어졌으니까,

잔디가 마지막으로 심어진 부분의 커밋ID(06fcc1c)로 rebase합니다.

git rebase -i -r 06fcc1c 

 

 

 

그럼 아래 사진처럼 콘솔이 나오는데 그대로 둘 커밋이면 pick 자체로 놔두시고,

수정을 해야된다면 pick 을 지우고 edit 으로 수정해줍니다.

여기서는 잔디가 모두 안심어졌으므로 4개 다 edit으로 바꿔야겠죠? pick을 모두 edit으로 바꾸시고

esc 를 누른다음 :wq 를 눌러서 저장하고 빠져나가세요. 숨쉬세요. 거의 다왔습니다.

예)

edit 2f2ab74

edit 63f1681

edit 2375852

edit a811749

 

 

:wq를 입력해서 저장하고 빠져나왔다면 아래같은 내용이 나옵니다.

 

git commit --amend 를 하면 수정하면서 계속 진행하실 수 있어요.

git commit --ament --author="이름이나 별명 <email주소>"   <--- 여기서 <  > 이거 넣어주셔야돼요

참고로 email주소는 본인 github -> settings -> Emails 에 등록된 email 이어야 합니다.

 

 

저렇게 치면 아래같은 화면이 나옵니다. 여기서 수정할 게 있으면 수정을 하시고, 수정할 내용이 없으시면

:q 로 수정하지않고 빠져나오세요.

 

 

빠져나오시면 아래같은 화면이 나옵니다. 축하합니다! 제대로 된거시에요! 

 

 

이제 다른것도 계속 진행해야죠? 위의 예에서는 잔디에 4개가 누락됐었으니 3번만 똑같이 하면 됩니다.

이번에는 git rebase --continue 를 하면 자동으로 다음 커밋이 아까처럼 표시돼요.

그럼 똑같이 :q 로 수정없이 빠져나오거나, 수정할 것이 있다면 수정하고 :wq 로 빠져나오시면 돼요.

 

 

이제 4번을 다 했다고 가정합시다. 또 git rebase --continue 를 입력하면 

더이상 rebase할 수 없어요. 성공적으로 되었다고 뜹니다. 축하링

 

 

근데 우리의 목적은 안심어진 잔디 심기였습니다. 

지금까지는 안심어지고, 잘못심어진 잔디를 뽑아서 다듬고, 재정렬 시켰다고 생각하고..

이제 잔디를 강제로 심어야죠?

git push -f origin main

 

 

 

혹시 하다가 문제가 생기면 아래 명령어를 입력해서 되돌리시면 돼요.

git rebase --abort

 

끝~

'공부내용 정리 > git' 카테고리의 다른 글

[Git] Git reset : Commit, Push 되돌리기  (0) 2024.11.22
[GitHub] 깃허브 협업하기  (0) 2024.03.29
Git 정리  (0) 2021.09.12