대답은 거기에 있습니다. git은 먼저 가져 오라고 말합니다.
아마도 다른 누군가가 이미 마스터하기 위해 밀어 붙였고 당신의 커밋은 뒤쳐져있을 것입니다. 따라서 변경 세트를 가져 와서 병합 한 다음 다시 푸시 할 수 있습니다.
그렇지 않은 경우 (또는 --force
옵션 을 사용하여 강제하는 경우 ) 커밋 기록을 엉망으로 만들 수 있습니다.
편집 : 여기 한 사람이 --force
옵션 사용에 대한 매우 나쁜 조언을했기 때문에 마지막 요점에 대해 자세히 설명합니다 .
git은 DVCS이므로 이상적으로는 다른 많은 개발자가 동일한 저장소 (또는 포크)를 사용하여 동일한 프로젝트에서 작업하고 있습니다. 변경 세트로 강제로 덮어 쓰면 "내역을 다시 썼기 때문에"저장소가 다른 사람의 저장소와 일치하지 않게됩니다. 당신은 다른 사람들을 불행하게 만들 것이고 저장소는 고통받을 것입니다. 아마도 세상의 새끼 고양이도 울 것입니다.
TL; DR
- 해결하려면 먼저 가져 와서 병합하십시오.
- 해킹하려면
--force
옵션을 사용하십시오 .
하지만 당신은 전자를 요구했습니다. 1) 항상 git을 혼자서 사용하더라도 좋은 습관이기 때문입니다.