2010-11-19 2 views
2

일반적인 문제인지 잘 모르겠습니다. 대부분의 경우 CSS 파일을 개발 보고서에서 가져 오는 동안 GIT는 현재 파일과 충돌하고 맨 위와 맨 아래에 ">>>"및 "< < <"마커를 넣고 두 파일을 완전히 병합합니다. 그들을 구분하는 "==="마커.GIT의 CSS 파일에서 계속되는 병합 충돌.

우리는 약간의 들여 쓰기를 시도했는데, 조금 도움이되었지만 전혀 성공하지 못했습니다. 우리는 다른 파일 유형에 문제가 없으며,이 경우 대부분 PHP와 JS 코드입니다.

도움이된다면 CRLF를 사용하도록 프로덕션의 모든 텍스트 편집기를 설정했습니다.

감사합니다.

답변

5

이는 대개 자동 변환으로 인해 발생합니다.

당신은 모든 자식 (dev 및 prod)에서 config autocrlf to false을 시도해 볼 수 있습니까?

그런 식으로 자동 변환이 수행되지 않으므로 해당 문제가 제거되어 잠재적 인 병합 충돌이 발생할 수 있습니다.

일부 자동 수정 기능을 도입 할 수있는 공백 설정이 있습니까?


참고 : 시작 자식 2.8 이상 (2016 월), 병합 마커는 더 이상 혼합 라인 (A CRLF 파일에서 LF와 같은) 종료를 도입하지 않습니다.
"Make Git use CRLF on its “<<<<<<< HEAD” merge lines"을 참조하십시오.

3

범인은 CRLF ... 상자 중 일부가 창인 경우 자동 CRLF 변환은 파일을 "유닉스"형식으로 저장하는 결과를 가져옵니다. 유닉스 (및 Mac) 상자는 "dos"형식으로 저장합니다.

해결책은 git 프로젝트의 일반적인 사용자 지정 형식 인 "unix"형식을 사용하도록하고 git (특히 msysgit)가 기본적으로 자동으로 변환되기 때문에 Windows 사용자가 "dos"형식을 사용할 수있게하는 것입니다.

또는 CRLF를 계속 사용하고 (더 나은 아이디어 일 가능성이 있음) Windows 사용자에게 autocrlf 또는 safecrlf를 사용하여 중지하도록 알려줍니다.