맨손이 아닌 "기본"원격 저장소를 설정하고이를 내 컴퓨터에 복제했습니다. 로컬 변경을 수행하고 로컬 저장소를 업데이트 한 후 변경 사항을 다시 원격 저장소로 푸시했습니다. 그 시점까지는 문제가 없었습니다.
이제 원격 저장소에서 무언가를 변경해야했습니다. 그런 다음 지역 리포지토리에서 무언가를 변경했습니다. 나는 원격 저장소에 대한 변경이 필요하지 않다는 것을 깨달았습니다. 그래서 git push
로컬 리포지토리에서 원격 리포지토리로 시도했지만 다음과 같은 오류가 발생했습니다.
히스토리가 손실되지 않도록하기 위해 빨리 감기가 아닌 업데이트가 거부되었습니다. 다시 변경하기 전에 원격 변경 사항을 병합하십시오. 자세한 내용은 '빨리 감기에
git push --help
대한 참고 사항 '섹션 을 참조하십시오.
아마 그 생각
git push --force
로컬 사본이 변경 사항을 원격으로 푸시하고 동일하게 만듭니다. 업데이트를 강제로 수행 하지만 원격 저장소로 돌아가 커밋을 수행하면 파일에 오래된 변경 사항 (주 원격 저장소가 이전에 있던 변경 사항)이 포함되어 있음을 알 수 있습니다.
[I] 강제로 시도했지만 변경 사항을 저장하기 위해 마스터 서버로 돌아갈 때 오래된 스테이징이 발생합니다. 따라서 리포지토리를 커밋 할 때 동일하지 않습니다. 그리고 git push를 다시 사용하려고하면 동일한 오류가 발생합니다.
이 문제를 어떻게 해결할 수 있습니까?
git push --force
참으로 힘 푸시에 다른 유효한 방법이며, 같은 단지뿐만 아니라 지점을 밀어 버린다 git push origin master --force
망할 놈의 기본에 push.default config settings
가지 구체적 2.0 이후 대 2.0 이전 망할 놈의 버전과 다릅니다 얻을수있는 불구하고.
git push --force
요즘 잘 작동, FWIW ...
git push --force-with-lease
더 잘 작동합니다 :), 그것은 당신이 기대하는 상태가 아닌 한 지점 업데이트를 거부합니다. ( developer.atlassian.com/blog/2015/04/force-with-lease 참조 )
git push -force
주의 깊게 더 .