78년생된 썰 푼다. (Git)

강민지·2024년 6월 19일

git

목록 보기
1/1
post-thumbnail

사건의 발단

웹 표준 수업의 과제로 html,css,js 활용 웹사이트를 만들고 깃허브 레파지토리 링크를 제출해야했다.

새 레파지토리를 파기 싫었던 나

html 과제 제출을 위해 새 레포까지 파기 싫었다. 그래서 누구나 하나쯤은 있을 강제푸쉬 개때리는 커밋용 비공개 레포에 파일을 강제 푸쉬로 올리고, 레포를 공개로 돌려 제출 할 생각이였다.

하지만 ㅋㅋ 과제 하는 것도 싫었죠 ㅋㅋ

html 과제... 요즘 너무 바빠서 그냥 초창기 때 했던 프로젝트를 재탕할라고 내 레포에서 클론 받았따. 그러고 다른 레포에 강제푸쉬를 하니까 ㅎㅎ 커밋 횟수랑 기록도 따라오더라!???! <이건 몰랐는데... (아니 심지어 커밋 100번 한 레포에서 클론 받은 거임 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ)
심지어 last year ㅋㅋ..ㅋ

사건의 전개

아니 커밋 100번은 좀...

커밋 횟수가 100번이라고 뜨면... 선생님은 뭐라고 생각을 하실까?????????? ㅠㅠ 그래서 생각한 최선의 방법이 브랜치를 바꾸는 방법이였다

master -> main

브랜치를 master에서 main으로 바꾸고 main에 같은 내용을 올렸다.
난 main에 다시 올렸으니 당연히 커밋횟수가 1일거라고 생각했다. 왜그랬을까............................. 아무 생각없이 과제를 제출하기 위해 메인 브랜치를 defult로 바꿔버렸다. 참고로 기본 브랜치를 바꾸면 잔디가 다 뽑힌다.ㅎㅎ <-이걸 인지하고 있었음에도 '다시 master를 defult로 바꾸면 되지 머~'라는 멍청한 생각을 하며 ㅋㅋ..

드디어 잘못 된 걸 느꼈구나!!!

생각해보니 이 레포는 내가 계속해서 새 파일들을 강제 푸쉬하며 커밋을 쌓아온 레포였다. 급하게 정신을 차리고 내 깃허브 프로필의 잔디를 보니 200개가량이 뽑혀 탈모가 와있었다. 👶🏻

되겠노?

master를 다시 defult로 바꿔봤자..ㅎㅋㅋ 잔디들은 이미 다 상처받고 짓밟혀서 도망간 후였다.

절망.........

되돌릸수 없다는 걸 깨달았다. ㄹㅇ 눈물나올뻔 ㅋㅋ 깃허브 장인들에게 헬프를 외쳤지만 답이 없어보인다는 답변만 돌아왔다,

사건의 결말

최선의 선택. 막노동 모드 ON

이대론 내가 쌓아온 잔디들을 포기할 수 없었다. 개발자는 잔디가 생명과도 같다고..아니 이거 잔디 다 뽑히면 개발할 맛 안 난다고.. ** 사실 잔디 뽑히자 마자 "나 개발 안 할래" 선언함. 근데 소마고에서 뭔 개발을 안 해 드립이야...그냥..받아들이고... 새로운 레포에다가 txt파일을 만들어서 하나하나 막노동을 하며 잔디를 다시 심었다. (쉽게 말해 커밋 조작!)
ㅎ하하

이 방법을 사용했다

아니 다시 전개

아니 진짜 애국가까지 들으면서 마음을 가다듬고 한땀한땀 열심히 거의 70개 정도 커밋하고 있었는데 옆에서 친구가 "근데 그걸로 몇 년 전까지 커밋 할 수 있을까?" 라는 개긑이 쓸대없는 발언을 하기 시작했다. 여기에 난 "오 맞네 좀 궁금한데?"를 시전하며 갑자기 타임머신을 타기 시작했다.(???)

아니 근데 억울함

git commit --date "20 mar 2020" -m "커밋메세지"

분명 나는 2020년으로 커밋 했는데 갑자기 뭔 1978년에도 커밋이 되어있는 거 ...ㅋㅋ (참고로 2020년에도 커밋 되어있었음)

아니 진짜 실호ㅓ냐
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 1978년까지 타임라인 생김 깃허브가 2008년에 생겼는데 말이죠..^ 친구들이 하나 둘 모여들더니 단체로 내 스크린 보고 웃더라.. 난 울고싶은대... i'm fine.....아임피네... 순간적으로 내 포트폴리오를 볼 회사들이 머릿속에 떠오름......... 무슨 짓을 해서라도 지워야됨. 아님 나 취업 모태. 1978년에 커밋이 있는 걸 보면 뭐라고 생각들 하실까... 난 날아간 커밋을 어떻게든 복구칠라고 했을 뿐인데.. 커밋조작하다 오류나서 걸린 사람 됨 ㄹㅇ 커밋아웃?

어떻게든 고쳐야지...

1. push, commit 취소하기

git reset HEAD^
// 가장 최근 commit 취소

git commit -m "커밋메세지"

가장 최근의 커밋을 취소하고 다시 커밋후, 강제 푸쉬했다

git push -f origin 브랜치이름

응 이렇게 쉽게 해결 될 리가 없지

2. 레포 지우기

원래 일반적으론... 레파지토리를 삭제하면 커밋했던 잔디들이 다 뽑히게 된다. 그래서 커밋 복구를 위한 나의 막노동 70커밋은 아깝지만.. 그냥 레포를 과감하게 지워버렸다
아니 근데 얘 좀비임??? 레포를 지워도 잔디가 안 뽑혔다. 하 그냥 제발 주거
-> 레포 복구치고 또다시 해결할 방법을 생각했다...

3. 깃허브 도와줘요

눈물을 머금고.. 지푸라기를 잡는 심정으로 문의를 보냈다

약 3시간 뒤 답장이 왔다

대충. 비공개 레포라서 우리가 어케 못함 이거 보고 알아서 하셈 라는 내용..ㅎ

4. 그래서 해봄. 특정 커밋 날짜 변경하기

  1. 명령어를 통해 커밋 내역을 확인하고, 변경하고 싶은 커밋을 찾아주었다
git log

찾았당.
2. 사진 설명대로다. 변경할 커밋 밑의 해쉬코드를 복사한다

git rebase -i 해시코드^

텍스트 편집기가 열리면

i //수정가능

위에서 변경하려고 했던 커밋의 pickedit으로 수정한다. (해쉬코드 앞자리 잘 보기)

esc키 -> :wq //저장 후 나가기

이후 원하는 날짜로 커밋후 푸쉬을 해주면 된다.

git commit --amend --no-edit --date="now" // 원하는 날짜로 커밋
git rebase --continue // 이어서 진행
git push origin main --force // push 후 반영

.
.
.
... 깃 로그에서는 커밋 내역이 사라졌으나... 잔디는 대체 왜 사라지지 않는 걸까 ㅎㅎㅎㅎㅎㅎㅎㅎ

저킹받는잔디한쪼가리..

아니 이게 되네 (해결)

진짜 안 되면 깃허브에 다시 문의하려하고 마지막 시도로 내가 200 커밋을 다 잃었던 방법을 사용해봤다. 새로운 브랜치를 만들어서 defult로 지정하는 것이다. master에 있던 잔디들이 main브랜치에 다 뭍혀서 사라졌다.개꿀

그 1978년까지 있던 연도로그가 드디어 사라졌다 🥺 넘화나서 그냥 레포 지워버릴거다 아오

뻘짓은 뻘짓을 낳는다

앞으로는 브랜치를 함부러 다루면 안되겠다는 생각이 들었구 강제 푸쉬하는 습관도 고쳐야겠다..ㅎ 깃허브는 조금 능숙해진 것 같다하면 미개해짐... 진심 그래도 이번 이슈 통해서 혼자 해결하는 힘을 기른 것 같아서 좋다 고해야할지 말아야할지. 그냥 호기심으로 시간을 날린 ㅎㅎ

참고
https://blacklobster.tistory.com/17

profile
화날 때 올림

14개의 댓글

comment-user-thumbnail
2024년 6월 19일

부소마 학생은 컴맹이 맞네요^

1개의 답글
comment-user-thumbnail
2024년 6월 19일

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
로컬에서 git reset하고 다시 강제푸쉬하면 돌릴수있어요

1개의 답글
comment-user-thumbnail
2024년 6월 19일

웃프네요

답글 달기
comment-user-thumbnail
2024년 6월 20일

다시 봐도 웃기네요

1개의 답글
comment-user-thumbnail
2024년 6월 20일

강제푸시 ㄴㄴ..

답글 달기
comment-user-thumbnail
2024년 6월 24일

소개글 "화날 때 올림".. 찰떡이시네요.. ㅋㅋㅋ ㅠㅠ

답글 달기
comment-user-thumbnail
2024년 6월 25일

ㅋㅋㅋㅋㅋ 이글보면서 잔디조작단을 꿈꾸게 되었습니다.

답글 달기
comment-user-thumbnail
2024년 6월 26일

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 너무 웃겨요 ㅠ 제목을 어떻게 저렇게 지을 생각을...

답글 달기
comment-user-thumbnail
2025년 3월 25일

대학교에서 과제로 JS로 팩맨 만들었던 경험이 있는데.. 추억이네요.https://repomod.com

답글 달기
comment-user-thumbnail
2025년 3월 30일

하하하하 넘 웃겨용 ㅎㅎㅎ

1개의 답글