개발관련/Git

수정 된 커밋을 원격 Git 저장소에 푸시하는 방법

Rateye 2021. 10. 7. 10:35
728x90
반응형
질문 : 수정 된 커밋을 원격 Git 저장소에 푸시하려면 어떻게해야합니까?

소스 코드로 약간 작업했을 때 평소 커밋을 한 다음 원격 저장소로 푸시했습니다. 그러나 소스 코드에서 가져 오기를 구성하는 것을 잊었습니다. 그래서 이전 커밋을 바꾸기 위해 amend 명령을 수행합니다.

> git commit --amend

불행히도 커밋은 저장소로 다시 푸시 할 수 없습니다. 다음과 같이 거부됩니다.

> git push origin
To //my.remote.repo.com/stuff.git/
 ! [rejected]        master -> master (non-fast forward)
 error: failed to push some refs to '//my.remote.repo.com/stuff.git/'

어떻게해야합니까? (원격 저장소에 액세스 할 수 있습니다.)

답변

--force.git 저장소로 한 번 밀고 Linus BIG TIME에 의해 꾸짖 었습니다. 일반적으로 이것은 다른 사람들에게 많은 문제를 일으킬 것입니다. 간단한 대답은 "하지 마십시오"입니다.

어쨌든 다른 사람들이 그렇게하는 방법을 알려주는 것을 보았으므로 여기서 반복하지 않겠습니다. 그러나 여기에 --force (또는 + master)를 사용하여 수정 된 커밋을 푸시 한 후 상황에서 복구 할 수있는 팁이 있습니다.

그러면 당신이 수정하고 푸시를 강요함으로써 지워진 커밋을 기반으로 할만큼 불행한 사람들은 그 결과 병합이 당신이 old new 것을 선호한다는 것을 알게 될 것입니다. 그들의 나중에 병합은 old 것과 new 것 사이의 갈등을 보지 못하므로 고통을 겪을 필요가 없습니다.

출처 : https://stackoverflow.com/questions/253055/how-do-i-push-amended-commit-to-the-remote-git-repository
728x90
반응형