반응형
급한 상황이 생겨(예비군 같은,,,) 내가 열심히 쌓아오던 잔디를 매꿀수 없다면 어떻게 해야할까..? 너무 마음 아프지만 걱정하지 말자 이 방법대로 하면 잔디를 살릴 수 있다.
1. 깃 로그 열기
- 먼저 iterm(터미널)으로 커밋할 git 프로젝트 경로로 이동한다. 그리고 아래의 명령어를 친다.
git log
- 위의 명령어를 친다면 다음과 같이 커밋 기록이 나올것이다.
- 아래 사진을 보면 commit 0608a712ecc4bbe77 → 이런식으로 옆에 긴 문자열이 커밋 해쉬이다.
2. git rebase -i {커밋 해쉬} 입력하기
- 이제 위의 사진에 있는 수정하고 싶은 날짜 이전의 커밋을 골라 해당 커밋 해쉬값을 복사한다.(커밋 내용을 작 확인하고 진행하자 가끔 맨 위에 커밋해쉬를 잘못 가져오면 제대로 동작하지 않는다.)
- 나는 이 당시 (2023년 8월 11일)에 작성한 커밋 기록을 12일로 바꾸고 싶었다. 그러므로 그 이전인 8월 11일 커밋한 내용에 해당하는 커밋 해쉬를 복사했다.
- 그리고 다음과 같은 명령어를 쳤다.
git rebase -i {복사한 커밋 해쉬}
// 아래와 같이 입력했다.
git rebase -i 24c884b175c693d58486643226512737134890b1
- 위의 명령어를 입력하면 아래와 같이 수정하는 에디터가 나올것이다.
- 사진 최상단을 보면 pick 87235c0이라고 적혀있는데 이 맨 첫번째줄의 pick을 바꿔줘야 한다. (아예 pick 1줄만 있는 경우도 있다.)
- 에디터에서 i를 누르면 insert모드가 된다. 가장 윗 줄의 pick을 edit으로 바꾼다. (참고로 2번째줄에 있는 pick은 바꾸면 안된다.)
- 다 바꾼후에는 esc -> :wq를 눌러 수정한 값을 저장 후 종료한다.
- 성공하면 아래의 사진과 같이 나온다.
3 . git commit amend하기
git commit --amend --no-edit --date="{조작하고 싶은 날짜}"
- 나는 8월 12일에 심지 못했던 잔디를 넣고싶었기 때문에 Aug 12로 날짜를 지정했다.
git commit --amend --no-edit --date="2023-08-12 19:42:42 +0900"
- 위처럼 명령어를 작성하면 아래와 같이 나온다.
- 아래 사진과 다르게 위에 명령어처럼 입력해줘야 한다. Aug말고 2023-08-12로 입력하고 중괄호도 없애주자
4. git rebase --continue
- 이제 날짜을 완료했으면 rebase를 진행하자
git rebase --continue
- 명령어를 치면 다음과 같이 나온다.
5. git push -f origin main
- 수정한 rebase 내용을 main 브랜치에 강제 푸쉬한다(-f 옵션 사용).
git push -f origin main
- 나는 master가 아닌 main 브랜치를 사용하기 때문에 force push를 main에 해주고 마무리했다.
- 이제 깃에 들어가서 확인해보면 잔디가 잘 심어져 있을 것이다. 악용하지 말고 정말 필요할때 사용하도록 하자!
깃을 사용한다면 옵시디언과 연동해서 사용해 보는것을 추천한다👇🏻👇🏻
반응형
'기타 > WEB, DB, GIT' 카테고리의 다른 글
Jenkins 깃허브 훅 설정 - GitHub hook trigger for GITScm Polling 설정하기 (0) | 2023.10.26 |
---|---|
Github Access Token발급받는 방법 (2) | 2023.10.26 |
IndexedDB: CSR 데이터베이스 (0) | 2023.10.20 |
Web개발 기초 - HTTP 구조 (0) | 2023.08.16 |
Port 8080 was already in use: tomcat 8080포트 종료하는 방법 (0) | 2023.08.16 |