2017-11-13 4 views
-2

사용자가 로컬 변경 사항을 커밋하고 새 변경 사항이있는 저장소에 변경 내용을 푸시하려고하면 푸시는 변경 사항이 취소되었다는 메시지에 실패합니다.사용자가 당기기 전에 커밋하게하는 점은 무엇입니까?

하지만 변경 사항을 가져 오려고하면 로컬 저장소에 커밋되지 않은 (저장소에 대한) 변경 사항이 있기 때문에 실패합니다.

사용자가 먼저 가져 오지 않으면 밀어 올릴 수없는 경우 변경 사항을 커밋하게하는 점은 무엇입니까?

+2

귀하의 질문을 판단 할 때 근본적으로 GIT 작동 방식을 오해 할 수 있습니다. 그 아이디어는 당신이 만든 코드를 가져 오기 전에 변경 한 내용에 대해 * 로컬 * 버전 제어권을 가지고 있기 때문에 코드가 충돌 할 수 있으므로 코드를 가져 오기 전에 항상 되돌릴 수 있습니다. –

+1

'그러나 만약 당신이 끌어 내려고한다면 ... 실패 할 것입니다. '... 당신이 변경 사항을 저 지르면 당연히 작동 할 것이고 최악의 시나리오는 병합 충돌이 될 것입니다. 좋은 Git 튜토리얼을 치고 싶을지도 모른다. –

+3

나는 이것이 커밋이 푸시와 거의 같은 생각의 기차와 같은 SVN에서 비롯된 것이라고 생각합니다. –

답변

0

변경 사항을 커밋하려면 로컬로을 수행하십시오. 즉, 원격 지점이 아닌 로컬 작업 복사본에 저장하십시오. 힘내라는 것은 pulling하기 전에 커밋하게하여 리모트에서 당긴다면 "unregistered"변경 사항을 덮어 쓰지 않도록한다. ("pulling"은 "fetch"+ "merge"를 의미한다.) 변경 사항을 다운로드하고 지역과 병합한다. 변경). 잘못되었거나 병합 충돌이있는 경우 커밋을 통해 문제를 해결할 수 있습니다. 그래서 먼저 커밋하고 커밋해야하며 가져 오기 (병합 + 병합) 한 다음 밀어 넣어야합니다.

여러 개발자가 동일한 분기로 푸시해야하는 데는 여러 가지 이유가 있지만, 이는 내가 추측하는 다른 이야기입니다.

관련 문제