[GIT] push 후 수정사항 발생

sun·2025년 4월 23일
0

이슈

목록 보기
3/3

git push 후 rebase를 해야 한다거나, commit 내용을 수정해야한다거나, 여러 이유로 다시 되돌리고 싶을 때가 있을 때 사용하는 방법
💥주의!!!
협업 시 사용 안하는 것이 좋음. 개인 프로젝트 때만 사용하는 것이 안전하다..

1. push한 commit들을 합치고 싶을 때

1. 합치는 범위 정하기

# 위에서부터 3번째까지 조회
git rebase -i HEAD~3

2. pick을 squash로 수정

1번의 명령어를 치면 위에서부터 세번째까지 보여준다.
가장 위에 있는 commit이 가장 과거이다.

가장 상단의 것만 제외하고 명령어 i를 눌러 pick을 squash로 변경한다.

그리고 esc를 누른 후 명령어 :wq를 입력하여 저장한다.
그렇게 되면 뭐 commit message 수정하는 내용이 나오거나 할텐데 나는 그냥 :wq 입력했다.
그러면 새로운 commit분이 생긴다.
그리고 아래의 명령어를 입력하면 rebase 했던 것들이 덮어씌워지면서 합쳐진 commit이 대체된다.

git push origin 브랜치 --force
#또는
git push origin +브랜치

2. push한 commit의 message를 수정하고 싶을 때

1. 수정하고 싶은 commit 찾기

# 위에서부터 3번째까지 조회
git rebase -i HEAD~3

2. pick을 reword로 수정

1번의 명령어를 치면 위에서부터 세번째까지 보여준다.
가장 위에 있는 commit이 가장 과거이다.

message를 변경하고 싶은 commit을 찾고 명령어 i를 눌러 pick을 squash로 변경한다.

그리고 esc를 누른 후 명령어 :wq를 입력하여 저장한다.
그러면 메시지를 수정하라는 내용이 뜰텐데 명령어 i를 입력 후 수정하고 :wq로 저장한다.
그러면 새로운 commit분이 생긴다.
그리고 아래의 명령어를 입력하면 변경한 commit message가 덮어씌워지면서 push 된다.

git push origin 브랜치 --force
#또는
git push origin +브랜치

3. push한 commit의 사용자를 수정하고 싶을 때

1. 수정하고 싶은 commit 찾기

# 위에서부터 3번째까지 조회
git rebase -i HEAD~2

2. pick을 edit으로 수정

1번의 명령어를 치면 위에서부터 두번째까지 보여준다.
가장 위에 있는 commit이 가장 과거이다.

사용자를 변경하려고 하는 commit을 명령어 i를 눌러 pick을 edit으로 변경한다.

그리고 esc를 누른 후 명령어 :wq를 입력하여 저장한다.

3. 변경하고자 하는 사용자 정보 입력

2번을 실행하고 나면 아래의 내용이 나온다.

git commit --amend --author="이름 <이메일>"

위 명령어로 사용자 정보를 입력한다.
그러면 아래의 내용이 보이는데 잔디만 심을 것이기 때문에 esc를 누른 후 명령어 :q로 나가준다.

4. 반복 및 마무리

다음 파일 처리를 위해 명령어를 입력한다.

git rebase --continue

3번을 실행한다.
모두 완료했다면 아래의 명령어로 강제 push 한다.

git push origin 브랜치 --force
#또는
git push origin +브랜치

💥 편집기에서 무언가 잘못되었을 때

esc를 누르고 :q!를 눌러 나간다.
해당 명령어는 저장하지 않고 해당 편집기를 나가겠다는 뜻이다.

💥 rebase가 잘못되었을 때

git rebase --abort
profile
Please, Steadily

0개의 댓글