paint-brush
Git에서 원격 커밋을 삭제하는 방법~에 의해@timmouskhelichvili
375,859 판독값
375,859 판독값

Git에서 원격 커밋을 삭제하는 방법

~에 의해 Tim Mouskhelichvili
Tim Mouskhelichvili HackerNoon profile picture

Tim Mouskhelichvili

@timmouskhelichvili

I am a Developer from Montreal, Canada 🇨🇦. I specialize...

2 분 read2022/05/31
Read on Terminal Reader
Read this story in a terminal
Print this story
Read this story w/o Javascript
Read this story w/o Javascript

너무 오래; 읽다

원격에서 커밋을 삭제하려면 커밋이 위에서부터 연속적인 경우 git Reset 명령을 사용하고, 그렇지 않은 경우 대화형 리베이스를 사용하면 됩니다. 로컬에서 커밋을 삭제한 후 force 옵션과 함께 git push 명령을 사용하여 해당 변경 사항을 원격으로 푸시합니다.
featured image - Git에서 원격 커밋을 삭제하는 방법
Tim Mouskhelichvili HackerNoon profile picture
Tim Mouskhelichvili

Tim Mouskhelichvili

@timmouskhelichvili

I am a Developer from Montreal, Canada 🇨🇦. I specialize in React & TypeScript development.

0-item
1-item

STORY’S CREDIBILITY

Guide

Guide

Walkthroughs, tutorials, guides, and tips. This story will teach you how to do something new or how to do something better.

Code License

Code License

The code in this story is for educational purposes. The readers are solely responsible for whatever they build with it.

Git을 정기적으로 사용하는 개발자에게는 기록 조작이 매우 일반적입니다. 실제로 개발자는 Git 기록에서 커밋을 제거해야 하는 경우가 많습니다. 다행히 Git은 이 작업을 가능하게 하는 많은 명령을 제공합니다.


시작해 봅시다 😋.

0단계 - 준비

Git 기록을 조작하기 전에 git status 명령을 사용하여 작업 디렉터리에 변경 사항이 없는지 확인하세요.

1단계 - 로컬에서 커밋 삭제

원격 서버에서 커밋을 삭제하려면 먼저 로컬 기록에서 커밋을 제거해야 합니다.

1.1 위에서 연속적으로 커밋하는 경우

제거하려는 커밋이 커밋 기록의 맨 위에 있는 경우 HEAD 개체 및 제거하려는 커밋 수와 함께 git reset --hard 명령을 사용하세요.


 git reset --hard HEAD~1

이 명령은 최신 커밋을 제거합니다.


 git reset --hard HEAD~3

이 명령은 최근 3개의 커밋을 제거합니다.


다음과 같이 커밋의 해시를 사용하여 특정 커밋까지 제거할 수도 있습니다.

 git reset --hard <hash>

1.2 비연속 커밋의 경우

image

그러나 연속되지 않은 커밋을 제거하려면 대화형 리베이스를 사용해야 합니다.


  • [ ] git reflog 명령을 사용하여 제거하려는 모든 커밋이 포함된 마지막 커밋 해시를 찾습니다.
  • [ ] git rebase -i <hash> 사용하여 대화형 리베이스를 시작합니다.
  • [ ] 편집 화면에서 제거하고 싶은 커밋 라인을 찾아서 제거하세요.
  • [ ] 저장하고 종료합니다(충돌을 해결해야 할 수도 있음)
  • [ ] git rebase --continue 사용하여 대화형 리베이스를 종료 하거나 리베이스를 중단하여 다시 시작하세요.

2단계 - 원격에서 커밋 삭제

원격에서 커밋을 삭제하려면 git push 명령을 사용하여 로컬 변경 사항을 원격으로 푸시해야 합니다.


 git push origin HEAD --force


로컬 기록이 원격 기록과 다르므로 force 옵션을 사용해야 합니다.

마지막 생각들

보시다시피 Git을 사용하면 원격 서버에서 커밋을 쉽게 삭제할 수 있습니다.


하지만 git push 명령을 force 옵션과 함께 사용할 때는 주의하지 않으면 진행 상황이 손실될 수 있으므로 주의해야 합니다.


image

읽어 주셔서 감사합니다!

L O A D I N G
. . . comments & more!

About Author

Tim Mouskhelichvili HackerNoon profile picture
Tim Mouskhelichvili@timmouskhelichvili
I am a Developer from Montreal, Canada 🇨🇦. I specialize in React & TypeScript development.

태그 걸기

이 기사는 다음에서 발표되었습니다....

Permanent on Arweave
Read on Terminal Reader
Read this story in a terminal
 Terminal
Read this story w/o Javascript
Read this story w/o Javascript
 Lite
X REMOVE AD