2017-02-21 1 views
0

OpenCart 용 버전 제어 코드베이스와 개별 버전 제어 OC 템플릿, 테마 및 플러그인을 설정하려고합니다.OpenCart 버전 관리 템플릿/테마/플러그인을 무시하는 방법


워드 프레스 나는 내 .gitignore 파일에 다음을 배치하여 워드 프레스와 비슷한 짓을했는지

아날로그 아무것도를 추적하지 않도록 WP의 REPO를 알려줍니다

/public_html/wordpress/wp-content/plugins/**/* 
!/public_html/wordpress/wp-content/plugins/index.php 

/public_html/wordpress/wp-content/themes/**/* 
!/public_html/wordpress/wp-content/themes/index.php 

index.php를 제외한 plugins/themes 폴더에 있습니다.

그러면 플러그인 폴더에 플러그인을 놓을 수 있으며 git status은 변경 사항을 반환하지 않습니다. 내 WP 코드베이스를 업데이트 할 때, 난 그냥 그것을 당겨 수 있습니다.


나는, 그러나 그것은 모든 OC 테마 파일을 분산하는 방법을 조금 더 흥미에 도착, OpenCart와 유사한 흐름을 가지고 싶습니다 얻을 수 있습니다.

옵션 1. 코어 파일을 제외한 모든 것을 제외하도록 내 OC .gitignore 설정과 동일한 접근 방식을 사용하는 것에 대해 궁금합니다. 본질적으로

#For every directory that a theme/template/plugin file might land 
/path/to/dir1/**/* 
!/path/to/dir1/corefile1 
!/path/to/dir1/coredir1/**/* 
... 
!/path/to/dir1/corefileX 
!/path/to/dir1/coredirY/**/* 
... 
/path/to/dirZ/**/* 
!/path/to/dirZ/corefile1 
!/path/to/dirZ/coredir1/**/* 
... 
!/path/to/dirZ/corefileM 
!/path/to/dirZ/coredirN/**/* 

나는 그것이 나올 수있는 것처럼 보입니다. 새로운 테마/템플릿/플러그인이 파일을 배치 할 수있는 위치가 한정되어 있습니까? 이 시스템은 정상 위치 밖에서 파일을 떨어 뜨리는 이상한 플러그인을 설치하는 순간 무너질 것인가? 내 .gitignore가 모든 핵심 OC 파일을 명시 적으로 포함해야하는 무언가로 변하기를 원하지 않습니다.

옵션 2. 내가 명시 적으로 테마/파일/플러그인의 일환으로 추가되는 모든 파일을 무시하는 방식으로 내 .gitignore 파일을 만듭니다. 이 방법은 매우 지루한 것처럼 보입니다. OC 프로젝트를 코어 OC 저장소 무시 파일에 추가해야하므로 모든 OC 프로젝트는 다른 모든 프로젝트에 대한 모든 무시 규칙을 갖게됩니다.

옵션 3 이 방법을 모두 포기하면됩니다. 어떤 경우에는 OC 코어 (예 : v2.2에서 v2.3으로)를 업데이트하려고 할 때마다 필자가 설치 한 모든 추가 기능을 숨기고 팝해야합니다.


옵션 1 나는쪽으로 기울고 있어요하지만 단지 그것으로 통과보다는, 내가 나를 얼마나 실현 알려 수있는 더 OC 플러그인 경험을 가진 사람을 기대했다 것입니다.

다른 솔루션도 듣고 싶습니다.



업데이트 : 나는 내 옵션 1 전략으로 무엇을 할 수 있는지를 살펴 복용 시작 루카스가 제공 한 정보를 바탕으로

. 나는 거의 즉시 그것을 포기했다.

처음에는 언어 파일에 대해 다음 규칙을 만들었습니다.

# Ignore everything in the language folder 
/uploads/catalog/language/**/* 
# Except default language 
!/uploads/catalog/language/en-gb/**/* 

나는 즉시 퉜다 문제는 내가이 저장소에 포함이 끝나는 EN-GB 언어 파일을 추가하는 모듈을 설치합니다. 따라서 이것은 모듈 파일을 명시 적으로 무시할지 또는 모든 핵심 en-gb 파일을 명시 적으로 포함할지 여부를 결정해야하는 동일한 상황에서 다시 저를 둡니다.

명시 적으로 모든 파일을 포함해야하는 경우 OC 코어 업그레이드가 새 파일과 함께 제공 될 수 있으며 파일이 존재하지 않으므로 버전 제어를받지 못하고 배송되지 않습니다 내 새 사이트. 이것은 내가 업그레이드 할 때마다 현재 OC와 새로운 OC 사이의 파일 시스템 비교를 수행하고 .gitignore에 새로운 파일을 추가함으로써 처리 될 수 있습니다. 이것은 자주 발생하지 않지만 여전히 꽤 못생긴 IMO입니다.


옵션 2 아이디어가 조금 깨끗해지기 시작했습니다. 내가 추가 한 모든 모듈에 대해 파일을 특별히 무시해도 괜찮습니다. 진짜 문제는 특정 웹 사이트의 파일을 조정할 때입니다. 이것은 종종 일어날 수있는 것처럼 보입니다. 많은 사람들이 완전히 다운로드 한 것과 같은 주제로 완전히 발생하지는 않습니다.

나는 정말 좋아하지 않아.

# Ignore files belonging to mywebsite.com 
/upload/catalog/view/theme/mywebsite.com/**/* 

이러한 파일을 사용하는 OC 인스턴스가 하나만있을 경우. 안 그러므로 그들은/카탈로그 /보기/테마 새로운 테마가 해당 파일이없는 경우/기본에서 조각을 제공하는/*

OC 기본값에 거주하고 -

답변

1

테마는 무시 꽤 쉽게 건드리지.

기본 언어는/catalog/language/ko-gb/*이며, 다른 언어는 의도적으로 추가되었을 수 있습니다. (!) :

/admin/controller/module/ 
/admin/model/module/ 
/admin/view/theme/default/module/ 

/catalog/controller/module/ 
/catalog/model/module/ 
/catalog/view/theme/default/module/ 

일부 모듈뿐만 아니라 새로운 언어 파일을 추가 할 수있는 모듈의

많은 6 개의 다른 장소에서 추가 된 파일이 있습니다.

일부 모듈은 데이터베이스에 새 테이블을 작성하지만 다른 모듈은 기존 테이블에 새 열을 추가 할 수도 있습니다.

솔직히 말해서 엉망입니다.

git projet을 사용중인 버전의 현재 OC 설치를 새로 설치하고 기존 설치를 복사하여 변경 사항을 시작 지점으로 복사하는 것이 좋습니다.

+0

이것은 다소 의심 스럽습니다. 나는 또한 많은 모듈들이 VQMods를 사용한다는 것을 안다. 보통 그 파일들이 정상적으로 끝나는 디렉토리 (또는 디렉토리)가 있는가? – Jamie

+1

모든 VQMOD의 끝은/vqmod/xml/ /vqmod/vqcache /에 저장되는 새로운 변경된 사본을 만들지 않습니다. –