2013-08-19 1 views
0

프로젝트에서 우리는 SASS의 컴파일 된 CSS를 사용하고 있습니다. 유일한 이유는 이러한 파일에 병합 충돌이 자주 발생하기 시작했기 때문입니다.단일 파일에 git merge 전략 사용

현재이 문제를 해결하는 방법은 파일을 지우는 것 뿐이며 올바르게 병합 된 원본 SASS 파일에서 자동으로 다시 컴파일됩니다.

.gitignore에 파일을 추가하는 것 외에는이를 피할 수있는 가장 좋은 방법은 무엇입니까? 내가 이상적인 솔루션을 생각하고 그 파일에 대한 병합 전략을 설정하는 것입니다 (그리고 그 파일 하나) 그들의/내,하지만이 가능하면 잘 모르겠습니다.

답변

1

는, 당신은 당신 .gitignore 파일에 그 다시 파일 유형/이름을 추가해야합니다. 실제 크기가 아니기 때문에 소스 파일입니다.

그러나 도구 업데이트 종속성을 피하기 위해 repo가 ​​필요한 경우 특수 병합 드라이버 작성을 고려할 수 있습니다 (merge.<driver>.name 구성 옵션 및 git-attributes "사용자 정의 병합 드라이버 정의 ")

등 드라이버 파일 형식을 연결할 수 있어야한다는

나는 후자를 시도 그래서 ... 즐기지 한 설명서의 깊이를 읽고

0

얼룩 지우기 필터 (link to doc)를 사용합니다.

목표는 기본적으로이 파일을 병합 작업에서 제외하고 체크 아웃 후 파일을 다시 작성하는 것입니다.

"얼룩"으로 나는 파일을 비우거나 (이 파일이 xyz 파일에서 다시 작성된다는 텍스트를 삽입하십시오).

"깨끗한"원래 SASS에서 파일을 다시 작성합니다. css/sass 파일의 파일 이름이 어떻게 든 상관되면 작동합니다. 이 (망할 놈의 repo가)는 소스 코드 저장소로 간주하는 경우

// %f passes the filename 
// "rebuild_css" and "clean_css" need to be written. 
[filter "css"] 
    clean = rebuild_css %f 
    smudge = clean_css %f