내용이 'ab'인 매우 간단한 텍스트 문서 (text.txt)를 상상해보십시오. 이 파일은 정식 (원격) 저장소에서 체크인되었습니다. 두 사람이이 저장소를 로컬에서 닫고이 파일을 편집하고 편집을 시작합니다. Dan은 내용을 'aB'(자본 B 참고)로 변경하고 John은 자신의 버전을 'abc'로 편집합니다. Dan은 커밋을 수행하고이를 표준 저장소에 푸시합니다. John은 나중에 로컬 커밋을 수행하고 변경 사항을 원격으로 푸시합니다. John이 저장소를 푸시하면 어떻게됩니까 (메시지)?Dan이 텍스트를 'aB'로 변경하고 John을 'abc'로 변경하면 어떻게됩니까?
답변
병합 충돌이 있습니다.
충돌이 없습니다. 요한의 밀어 넣기는 그가 멀리 나가는 지점의 직계 후손이 아니기 때문에 거부 될 것입니다.
John이 자신의 커밋을 푸시하기를 원하면 먼 지점의 커밋 인 커밋과 병합하거나 커밋 맨 위에 커밋을 리베트해야합니다. 이 시점에서 그는 텍스트 파일에서 충돌을 해결하는 방법을 선택해야합니다.
푸시 할 때 사용하는 플래그에 따라 다릅니다.
기본적으로 원격 지점 헤드 (Dan의 커밋)는 John의 수정본의 상위가 아니므로 밀어 넣기가 실패합니다.
-f
또는 --force
으로 Dan의 변경 사항을 John의 것으로 덮어 씀으로써 Dan의 푸시를 효과적으로 취소 할 수 있습니다. 서버가 적어도 강제 푸시를 허용하도록 설정되어있는 경우입니다. 많은 자식 서버는 단순히이 작업을 거부합니다.
일반적으로 '올바른 방법'은 John이 정상적으로 푸시하려고 시도하는 것입니다. 그는 제가 언급 한 오류를보고 다른 누군가가 변화를 겪었다는 것을 알게 될 것입니다. 그런 다음 그는 git pull
을 수행하여 Dan의 변경 사항을 검색하고 자신의 변경 사항을 병합합니다. 끌어 오기가 병합을 시도하여 텍스트 파일에서 충돌을 일으키고 John이 수정하도록 남겨 둡니다. John이 충돌을 해결하면 (아마도 파일에 'aBc'가 포함 된 다음 자식 디렉토리가 알려 지도록 git add text.txt; git commit
을 사용하여) 로컬 저장소에 두 변경 사항을 모두 포함하는 것으로 표시된 '병합 완료'가 포함됩니다. 그런 다음 더 이상 문제없이 서버에 푸시 할 수 있습니다.
- 1. ResourceDictionary를 변경하면 DynamicResource 재평가는 어떻게됩니까?
- 2. 탭을 변경하고 페이지를 변경하면 어떤 이벤트가 시작됩니까?
- 3. 웹 서비스가 매개 변수를 변경하면 어떻게됩니까?
- 4. Visual Studio 2010에서 .resx를 변경하면 어떻게됩니까?
- 5. 클래스를 NSMutableArray에 추가하고 해당 객체와 배열을 모두 변경하면 어떻게됩니까?
- 6. MySQL에서 열의 데이터 정렬을 변경하면 기존 데이터는 어떻게됩니까?
- 7. Google App Engine에서 영구 객체와 관련된 클래스를 변경하면 어떻게됩니까?
- 8. 원하는 경우 텍스트를 자르고 줄임표를 추가하면 어떻게됩니까?
- 9. 텍스트의 텍스트를 변경하고 측정 된 폭을 Flex로 얻으십시오
- 10. 언어를 변경하면 내 맞춤 검색 버튼이 일부 텍스트를 자릅니다.
- 11. ab로 테스트 할 때 소켓 서버가 멈추었습니다. BufferedReader.readline()
- 12. xib에서 내 UIButtons는 어떻게됩니까?
- 13. 내 URL을 변경하고 싶습니다
- 14. 런타임에 연결 문자열을 변경하고 app.config를 다시로드하십시오.
- 15. javascript로 uri 변경하고 페이지를 다시로드하지 마십시오
- 16. 이중 열을 숫자로 변경하면 문제가 발생합니까?
- 17. 서버 IPAddress를 변경하고 자동으로 리디렉션을 수행합니다.
- 18. UITextField에서 키보드 레이아웃을 변경하면 메모리 누수가 발생합니다.
- 19. 내 mod_rewrite는 어떻게됩니까?
- 20. 화면 해상도를 변경하고 프로그램을 실행하는 스크립트?
- 21. iPhone - 번들 식별자 변경 : 어떻게됩니까?
- 22. 기존 열을 변경하면 신원을
- 23. UITabBar에서 UIButton backgroundImage를 변경하면
- 24. LyX에서 페이지 여백을 변경하면
- 25. document.location.href를 변경하면 DOM이 손실됩니다
- 26. 목록보기의 배경색을 변경하면
- 27. 프로젝트를 변경하면 qtp가 실패합니다.
- 28. UIDatePicker UIDatePicker의 모드를 UIDatePickerModeTime으로 변경하면 시간이 재설정됩니까?
- 29. 단위 테스트가있는 코드를 변경하면 먼저 변경해야합니까?
- 30. 프로젝트가없는 개발에서 컴파일은 처음으로 어떻게됩니까?
더 정확히 말하면, 병합 커밋에는 각 분기의 팁이 부모로 있습니다. 커밋 자체에는 두 가지 변경 내용이 모두 포함되어 있지 않지만 충돌의 해결 방법이 포함되어 있습니다. – Cascabel