2010-06-21 9 views
0

다른 브랜치에서 일부 리팩토링을 수행하고 동일한 파일의 다른 위치에서 일부 메소드를 이동했습니다.git : 병합 중 중복 메소드 방지

그런 다음 master에 병합 한 후 git은 이전 위치를 제거하지 않고 새로운 위치에 새 메소드를 가져 왔습니다. 결과적으로 일부 메소드가 중복되어 새로운 파일이 생성되었습니다 (일부 코드 블록이 엉망이되었습니다).

새로운 메소드를 PHPDoc 주석으로 처리 한 것 같습니다.

앞으로 이러한 동작을 피할 수 있습니까?

는 (젠드 프레임 워크와 개발을위한 자식을 사용하여 임 코드는 ZF 코딩 표준을 사용하여 포맷)

답변

1
가 행복하게 악을 제외 아니라 파일 (의 내용을 무시로 망할 놈,하는 PHPDoc 의견에 대해 알고하지 않습니다

CR/LF 문제).

모든 파일을 추가하지 않았거나 동료 중 한 명이 문제의 라인을 변경했음을 알았습니다.

변경 사항이있는 모든 파일이 실제로 커밋 된 경우 git log를 확인하십시오. git diff를 사용하면 커밋 간의 차이점을 확인하여 배 모양의 위치를 ​​정확하게 파악할 수 있습니다.

+0

실제로 특정 파일 형식을 다루기 위해 diff 헬퍼를 설치할 수 있기 때문에 git이 내용을 완전히 무시한다는 것은 사실이 아닙니다. 그러나 이것은 명백히 평범한 내용이 아닙니다. 그것은 git의 genric 물건을 말하는 것은 어렵습니다. 아마 당신이 세탁물을 만들고, 철제로 만들고 그것을 찬장에 넣을 수 있도록 융통성있게 구성 할 수 있습니다. –

+0

대답 주셔서 감사합니다, 피터. git log와 git diff를 사용하여 실제 문제를 찾을 수있었습니다. 하지만 아마도 뭔가 일이 잘못 될 경우 구문 문제를 확인하고 커밋을 사용하지 않으려면 php 파일을 구문 분석 할 어떤 종류의 pre/post 커밋 훅을 찾고있는 것처럼 보입니다. – takeshin