2012-01-25 2 views
1

배경 정보 :모범 사례 (또는 통보) 하나 개의 서버, 세 SSH 로그인에, 하나 개의 원격 망할 놈의 repo

  • 우리는 현재 3 개 웹 프로그래머 (좋은, 실제 친구, 아니 불신 문제)입니다.
  • 각 프로그래머는 코드가있는 단일 Linux 서버에 SSH를 사용하여 자신의 사용자 이름으로 sudo powers를 사용합니다.
  • 우리 모두 한 번에 여러 파일에 대한 작업을 사용합니다. 우리는 "당신은 파일에 있습니까?"라는 질문을합니다. 때때로. Vim을 사용하여 파일이 열려 있는지 여부를 알 수 있습니다.
  • 우리의 개발 코드 (더 생산은 아직)
  • 가 현재의 I/var에 /의 repos의/아래 하나 지역 힘내의 repo를 설정 /의/var/www가에 존재하지 않습니다.
  • 원격 저장소는 bitbucket에 호스팅됩니다.
  • 나는 힘이 아주 좋다. 이전에 Subversion을 사용했지만 기본적으로 스푼 피드 지침이었고 코드를 동기화하고 커밋 할 내용을 정확히 말했습니다.
  • Scott Chacon의 Pro Git의 절반 정도를 읽었습니다. 이것이 내 Git 지식의 대부분을 차지합니다.
  • 우분투 11.04, 아파치 2.2.17, 그리고 망할 트릭 1.7.4.1을 실행합니다.

필자가해야 할 일은 각 사용자의 홈 디렉터리 아래에 3 개의 별도 로컬 리포지토리가 있다고 생각하기 시작한 것입니다 (여전히 동일한 서버에 있음을 기억하십시오). 그러나 우리 모두가/var/www /에 동일한 웹 사이트 코드로 작업한다면 여전히 의미가 있습니까? 또한

일부 약간 관련된 질문 : 나의 이해에서

  • , 나는 그 디버그하기 위해 의미하므로 직접 (내 지역의 repo를 수정하는 가정입니다, 내 REPO는에 거주하여 브라우저에서 볼 수 있도록 필요/var/www /), 아니면 개발 디렉토리에서 편집 한 파일을 수동으로 복사하고 내 로컬 저장소를 덮어 쓰고 추적하고 커밋 한 다음 푸시한다고 가정합니까?
  • 내 로컬 저장소에서 복사한다고 가정하면, 전체 개발 디렉토리를 복사하고 덮어 쓸 수 있으며, Git이 어느 것을 추적 할 수 없게 만들 수 있습니까? (전복으로는 불가능하다고 생각합니까?) 또는 편집 한 파일을 수동으로 추적해야합니까?

답변

1

일반 설정은 다음과 같습니다 그들이 원하는 목적지

  • 각 개발자가 자신의 로컬 작업 복사본을 가지고; 아마도 ssh를 사용하는 것보다 로컬에서 작업하는 것이 더 빠르기 때문에 아마 자신의 데스크탑 일 것입니다.

  • 서버의 중앙 저장소 (/var/repos).

  • post-update 중앙 저장소에 걸려 있고 밀어 넣기가 완료되면 /var/www이 업데이트됩니다.

    파일을 복사 git archivetar를 사용
    • 거기에 git update 저장소/체크 아웃 등 /var/www/ 갖는

    • 이상 및 실행하는 방법은 두 가지가 있습니다.

    나중에 더 쉽고 유일한 단점은 .git 디렉토리를 차단하도록 웹 서버를 구성해야한다는 것입니다.

하지만 당신은 — 단지 git init, git add .git commit이 — 점차 거기에서 전환 작업 디렉토리를 /var/www/을 시작할 수 있습니다.

추가 질문 추가 : 힘내 기는 알고있는 파일 목록이 있습니다. .git을 제외한 모든 항목을 지우고 새 콘텐츠를 입력하면 분류됩니다. 하지만 /var/www 저장소를 만드는 것이 더 쉽습니다. 브라우저에서 .git을 볼 수 없도록하려면 서버 또는 심지어 권한 만 구성하면됩니다 (.git 디렉토리 사용자 및 그룹을 www 서버에 없지만 권한을 770으로 설정하면됩니다).

+0

좋아요. 그렇다면 개발자는 로컬 테스트를 위해 각자의 로컬 LAMP 스택이 필요합니다. 코드를 로컬 저장소로 마이그레이션하는 데 많은 문제는 없지만 데이터베이스는 어떻게됩니까? 우리는 MySQL을 실행하고 응용 프로그램에는 Python 스크립트로 쉽게 채워지는 2 개의 테이블 만 있습니다. 그러나 나중에 데이터베이스 복사가 옵션이 아닐 때 서버의 데이터베이스에 원격으로 연결해야합니까? 아니면 테스트 용 샘플 데이터가 있어야합니까? 응답 주셔서 감사합니다! – hobbes3

+0

@ hobbes3 : 둘 다 가질 수 있습니다. 상관 없습니다. 데이터베이스 연결 설정으로 로컬, 버전없는 구성 파일을 가지고 필요에 따라 전환하십시오. 실제로 필자는 마침내 스키마 테스트를위한 샘플 데이터와 다른 파괴적인 변경을위한 로컬 db와 실제로드 하에서의 테스트를위한 대표 데이터를 모두 가질 것입니다. –