티스토리 뷰

728x90
반응형

오늘 업데이트를 하면서 잘못 올린 코드가 있어 한번 시도를 해본 과정을 정리하려 이 글을 쓴다.

 

바로 전에 커밋한 메시지를 수정하기 위해서는 다음과 같은 코드를 커멘드에 입력한다.

git commit --amend

이 명령어는 좀전에 바로 올린 커밋 메시지를 수정하는 명령어다.

git commit -amend실행시

코드 입력시 무언가 화면에 하나가 추가가 되는데 여기서 수정을 한 후 저장하고 나가면 자동으로 저장이 되는 것을 확인할 수 있다. 바로 git log를 통해 확인이 가능하다.

git log로 commit 메세지가 변경되었는지 확인하기

이렇게 하면 커밋 메세지가 변경이 된 것을 확인이 가능하다.

 

하지만... 필자는 이미 업데이트를 한 상태에서 해서 그런지...

커밋 후 이미 푸시하였다면... 이러한 문제가 발생한다.

반복된 시도 끝에 성공은 했다. 먼저 일단 원격 저장소에 있는 커밋부터 삭제를 해줘야 한다.

 

먼저 필자가 하고 싶은 것은 올라간 것 중 로그아웃 기능 추가하기만 올라가기를 원해서 다음과 같은 순서로 작업하였다.

 

1. 원격, 로컬 모두 다 올라간 상태에서 브런치로 새로 복제본을 하나 만든다.

 

2. main브런치에서 삭제할 커밋을 지운다.

git reset --hard HEAD~3

뒤에 ~3은 필요한 개수에 따라 삭제를 해주시면 되는데 필자의 경우 3개를 지우고 다시 업데이트를 위해 ~3을 넣었다. 이렇게 하면 원격에서 삭제가 되는 것을 확인할 수 있다. 제대로 지워진 것이 확인을 해본 후 다음 작업으로 넘어간다.

 

3. 변경된 커밋을 원격에 재 업로드한다.

git push -f origin main

이 표현이 맞는지는 모르지만, 기존에 잘 못 올라간 커밋메세지를 로컬과 원격이 동일시하는 작업인 듯하다.

 

4. 복제해둔 브랜치를 머지한다.

git merge branch_name

1번에서 저장한 브랜치 이름을 넣어 머지를 한다. 그리고 git log로 어떤 상태인지 확인한다. 필요 없는 부분을 다시 확인한 후 2번을 반복한 후 3번으로 다시 재 업로드했다.

 

물론 이 방법은 좋은 방법일 수도 아닐 수도 있다. 하지만 필자는 별의별 방법을 통해...

보아라 성공한 모습을

필자가 원하는 대로 로그아웃 기능 추가하기만 들어간 것을 확인할 수 있다. 로그아웃 기능 추가할 당시의 코드도 안전! 

 

 

 

처음에는 GIT자체가 어려웠다. 로컬/원격 개념이 어려웠다.

근데 이해를 하고 개념이 잡혀가면서 조금씩 GIT 명령어를 알아가는 재미가 생겼다.

물론 협업에서는 없어서는 안 되는 GIT이지만, 내 맘대로 커스터마이징이 가능하다는 것을 너무나 매력적인 아이다.

물론, 성공을 할 때에만 말이다.

728x90
반응형
댓글
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함