이것은 대답이 허용되는 오래된 질문이지만 여전히 다른 질문에 대한 여지가 있다고 생각합니다.
먼저 기능 이이 작업에 적합한 도구 라고 생각하지 않으며 대체 도구 세트를 제안합니다.
팀 협업을위한 전제 조건은 프로덕션 서버와 별도의 프로젝트 개발 버전을 테스트하기위한 스테이징 서버가 있어야합니다. 모든 개발 코드는 스테이징 서버에서 테스트되며 안정적이고 배치 준비가 완료된 경우에만 프로덕션 서버로 푸시됩니다. 그러나 개발자는 준비 서버에서 직접 작업하지 않습니다. 각 개발자는 수정 제어 및 소스 코드 관리 (SCM)를 사용하여 자신의 워크 스테이션에서 작업하여 팀의 다른 팀과 작업을 조정합니다.
SCM 시스템을 통해 팀 구성원은 서로 간섭하지 않고 코드의 서로 다른 분기 에서 병렬로 작업 할 수 있습니다. 테스트 목적으로 마스터 지점 만 스테이징 서버에 배치됩니다.
프로덕션, 스테이징 및 워크 스테이션간에 데이터베이스를 미러링하기 위해 공유 호스팅에 있고 자체 데이터베이스를 관리하지 않는 경우 사용할 수있는 백업 및 마이그레이션 이라는 모듈 이 있습니다. 자체 데이터베이스 서버를 관리하는 경우 해당 서버의 유일한 프로젝트이며 mysql 을 사용 하면 다음 명령 쌍이 편리합니다.
덤프하려면 :
mysqldump --all-databases --opt -u root -p > DUMP.sql
복원하려면
mysql -u root -p < DUMP.sql
귀하의 서버가 해당 서버의 유일한 데이터베이스 mysqldump가 아닌 경우 데이터베이스 만 덤프 하는 일부 버전 (또는 mysql을 사용하지 않는 경우 동등)을 스크립트 하십시오.
마스터 인 프로덕션 서버의 데이터베이스 인 정책을 작성하십시오. 스테이징 서버 및 워크 스테이션은 프로덕션 데이터베이스의 사본이어야하며 그 반대도 아닙니다.
Drupal 7은 모든 관리자 설정을 데이터베이스에 유지합니다. 즉, 프로덕션 사이트, 준비 사이트 및 워크 스테이션간에 데이터베이스를 미러링하면 기능 없이 admim 설정이 마이그레이션됩니다 .
이제 코드를 공유하십시오.
개발 팀 구성원간에 코드를 공유하는 표준 방법은 SCM 시스템을 사용하는 것입니다. Drupal은 기본적으로 git 이라는 시스템으로 관리됩니다 .
힘내 로컬 또는 원격 저장소를 사용할 수 있습니다. 팀 구성원이 동일한 실제 공간에있는 경우 스테이징 서버에서 로컬 저장소를 설정할 수 있습니다. 지리적으로 분산 된 경우 원격 리포지토리를 설정할 수 있습니다. 개발중인 코드에서 다른 사용자가 읽기 액세스 권한 을 갖지 않아도되는 경우 Drupal.org 의 샌드 박스 를 원격 저장소로 사용할 수 있습니다 . GitHub 에서 프로젝트 영역을 사용할 수도 있습니다 . GitHub 는 리포지토리 일뿐만 아니라 공동 작업을위한 몇 가지 도구와 함께 제공되며 공용 및 개인 리포지토리를 모두 허용합니다.
기본적으로 SCM 시스템을 사용하면 팀 구성원이 팀 구성원이 공유 한 저장소에서 소스 코드 및 문서를 가져 와서 작업 한 후 다시 밀어 넣을 수 있습니다. SCM은 변경 사항을 추적하고 충돌이있는 경우 (예 : 다른 팀 구성원이 변경 한 변경 사항이 포함되지 않은 코드를 푸시하려고 시도하는 경우)이 충돌을 해결하는 방법을 제안하고 제안합니다.
일반적으로 팀 구성원간에 작업을 나누는 방법에 대한 따뜻한 대화를 통해 갈등은 없습니다. 그러나 SCM 시스템이 사물을 추적하면 실수가 발생하거나 통신이 실패하더라도 충돌을 관리 할 수있게됩니다.
git (GIYF) 시작 및 사용에 대한 많은 자습서가 있습니다 . Scott Chacon 의 git-scm 웹 사이트와 Pro Git 을 추천합니다.