2011-02-07 4 views
7

저는 웹 사이트 개발 관리의 어려움을 덜어 줄 디자이너입니다. 나는 최근에 Git을 발견했으며 지금까지는 받아들이 기가 쉽다. 내 이해에서 Git을 두 개 이상의 리파지토리를 사용하여 이러한 변경 사항을 배포하는 방법으로 사용할 수 있습니다. 하나는 마스터입니다. 나는 특히 개발 환경, 테스트 환경 및 프로덕션 사이트에 관심이 있습니다.Git을 사용하여 웹 사이트 개발을 관리하기위한 조언?

가이 방법으로 힘내를 사용하는 것이 허용된다

그래서 나는 몇 가지 질문이?

어느 쪽이 더 낫습니다. 로컬 저장소에 마스터 저장소를 저장하고 프로덕션 및 테스트 서버에 변경 사항을 적용 하시겠습니까? 또는 마스터를 프로덕션 서버에 저장하고 로컬 컴퓨터로 가져 와서 변경하는 것이 좋습니다.

그렇다면 두 가지 방법 중 어느 것을 달성할까요?

답변

3

여기에 약간의 혼란이있을 수 있으므로 명확히하려고 노력하겠습니다.

저장소는 코드 사본 일뿐입니다. 코드 사본을 여러 개 만들 수 있습니다 (예 : 개발 시스템에 하나, 테스트 서버에 하나, 프로덕션 서버에 하나씩). 모든 것이 동일한 코드에서오고있다. 다른 커밋 (변경 집합) 또는 다른 분기에서 각각의 저장소를 가질 수있다.

내 제안은 이와 같이 작동하는 것입니다. git으로 버전화할 프로젝트의 루트 디렉토리에서 코드를 사용하여 리포지토리를 만듭니다.

git init 

이제 코드의 여러 분기를 만들 수 있습니다. 하나는 "마스터"(일반적으로 사람들이 이름을 지정하는 방법)이며, 프로덕션 코드를 저장하는 데 사용됩니다. 다른 지점은 "개발"이라고 할 수 있습니다. 따라서 웹 사이트를 시작할 때 저장소의 로컬 복사본에있는 개발 지점으로 전환하고 변경 한 다음 해당 지점을 커밋하고 테스트 서버의 저장소에 대한 변경 사항을 푸시합니다. 일반적으로 "개발"지점에 설정되어 있음). 당신은 코드를 테스트 한 다음, 괜찮다고 느낄 때 개발 변경 사항을 마스터에 병합 한 다음 프로덕션 서버 저장소 (일반적으로 "마스터"분기에 있음)로 밀어 넣습니다.

github.com을 사용하는 것이 좋습니다. 실제로 코드를 원격으로 안전하게 복사하는 데 도움이됩니다. 또한 각 코드 복사본에 변경 사항을 적용 할 수 있도록 git 서버를 만들 필요는 없지만 github 복사본 만 업데이트하면 나중에 코드의 각 버전 (예 : 테스트 및 프로덕션)에서 변경 사항을 가져올 수 있습니다. .

여기 제가 약간 혼란 스러울 수 있습니다. 저장소 자체와 저장소의 분기점의 차이점을 이해할 수있는 책을 확인할 수 있습니다. Git은 코드를 체계적으로 정리할 수있는 좋은 선택이다.함께 가기로 결정한 경우이 사이트를 살펴보십시오. http://gitimmersion.com/

+0

감사합니다. 그 사이트는 유용하게 보입니다. 나는 그것을 읽을 것입니다. 명확하게하기 위해 변경 사항을 마스터와 병합하지 않고 한 분기에서 다른 분기로 병합 할 수 있습니까? – Mindthetic

+0

예, 커밋을 다른 분기에 독립적으로 병합 할 수 있습니다. 마스터가 "중간 지점"일 필요는 없습니다. – acadavid

+0

좋습니다. 귀하의 예제에서 마스터 리포지토리는 전체 셋업 즉, 분산되어 있습니다. 프로덕션 서버 (또는 라이브 사이트)로 사용되지 않습니다. 이것이 갖는 이점은 무엇입니까? 많은 감사합니다. – Mindthetic

3

이런 힘내 사용하는 것이 좋습니다. 필자가 보았던 것에서, 대부분의 사람들은 로컬 컴퓨터에 마스터가 있고 프로덕션/테스트 서버에 푸시됩니다.

여기이 목적을 위해 힘내 사용에 대한 좋은 가이드가있다 : http://toroid.org/ams/git-website-howto

당신이뿐만 아니라 시험기를 원하는 경우에, 그리고 다른 시스템에 다시 '원격 저장소'에 설명 된 단계는로 추가 할 다른 이름으로 원격.

관련 문제