2016-08-19 1 views
1

병합 후 우리는 다른에 한 가지를 병합 할 때자식은 우리가 가지를 사용하는 우리의 자식 워크 플로우에

그래서 우리가 사용하는 (꽤 많이 a successful git branching model 여기에 설명 된 바와 같이) 모든 변경 사항을 찍은 있는지 확인하는 방법 :

git checkout <destination> 
git merge --no-ff <src> 

충돌이있는 경우이를 해결 한 후 병합이 올바른지 (대상에서 덮어 쓴 것이없고 모든 변경 사항이 원본에서 취해진 경우) 확인하고 싶습니다.

대상에서 무엇이 덮어 쓰지 않았는지 확인하려면 병합 전에 커밋과 병합 해결로 커밋간에 diff를 실행하십시오.

하지만 어떻게 마스터에서 가져 왔고 병합/해상도에서 손실되지 않았는지 확인할 수 있습니까?

감사합니다.

+0

수동으로 수행해야합니다. 각 파일에 대해 diff를 실행합니다. – Marusyk

+0

@MegaTron 나는 그것을 두려워했습니다. – memical

+0

변경 사항을 적용해야한다는 것을 알고 있기 때문에 어떤 방법도 없다고 생각합니다. 하지만 내가 정확하지 않을 수도 있습니다 – Marusyk

답변

1

귀하의 경우에 있어야하는 (

git diff HEAD^

이 명령은 사용자의 현재 상태 사이의 모든 파일의 차이를 보여줍니다 병합 된 지점에서 커밋 이전에 병합 결과 병합) 및이 지점의 이전 커밋

1

글쎄, 이 아닌 모든 메시지가 충돌 할 수 있다는 것을 확신 할 수 있습니다. 충돌이 성공적으로 처리되었습니다. 충돌이 발생하면 수동으로 문제를 해결해야하므로 git은 도움을 드릴 수 없습니다.

당신이 conflicht 동안 어떤 일이 일어나는지 자주 확실하지 않은 경우는, git help merge 당신을위한 옵션이 있습니다

An alternative style can be used by setting the "merge.conflictstyle" configuration variable to "diff3". In "diff3" 
    style, the above conflict may look like this: 

이 옵션을 설정하면하게 그것을 그래서 당신뿐만 아니라 참조 당신과 그들의 편하지만, 또한 충돌하는 선의 원래 텍스트. 그것은 모든 추측을 제거해야합니다.

당신의 사랑하는을 볼 수 있습니다
+0

충돌이 문제가되지 않습니다 . 하지만 오히려 내가 소스와 목적지 사이에 차이점을하고 싶습니다,하지만 대상에서 완료되었습니다 엑스트라없이 – memical

+0

당신은 병합 또는 병합 후'목적지'를 의미합니까? 위의 질문을 업데이트하고 그림을 그리십시오. – AnoE