여기에 약간의 혼란이있을 수 있으므로 명확히하려고 노력하겠습니다.
저장소는 코드 사본 일뿐입니다. 코드 사본을 여러 개 만들 수 있습니다 (예 : 개발 시스템에 하나, 테스트 서버에 하나, 프로덕션 서버에 하나씩). 모든 것이 동일한 코드에서오고있다. 다른 커밋 (변경 집합) 또는 다른 분기에서 각각의 저장소를 가질 수있다.
내 제안은 이와 같이 작동하는 것입니다. git으로 버전화할 프로젝트의 루트 디렉토리에서 코드를 사용하여 리포지토리를 만듭니다.
git init
이제 코드의 여러 분기를 만들 수 있습니다. 하나는 "마스터"(일반적으로 사람들이 이름을 지정하는 방법)이며, 프로덕션 코드를 저장하는 데 사용됩니다. 다른 지점은 "개발"이라고 할 수 있습니다. 따라서 웹 사이트를 시작할 때 저장소의 로컬 복사본에있는 개발 지점으로 전환하고 변경 한 다음 해당 지점을 커밋하고 테스트 서버의 저장소에 대한 변경 사항을 푸시합니다. 일반적으로 "개발"지점에 설정되어 있음). 당신은 코드를 테스트 한 다음, 괜찮다고 느낄 때 개발 변경 사항을 마스터에 병합 한 다음 프로덕션 서버 저장소 (일반적으로 "마스터"분기에 있음)로 밀어 넣습니다.
github.com을 사용하는 것이 좋습니다. 실제로 코드를 원격으로 안전하게 복사하는 데 도움이됩니다. 또한 각 코드 복사본에 변경 사항을 적용 할 수 있도록 git 서버를 만들 필요는 없지만 github 복사본 만 업데이트하면 나중에 코드의 각 버전 (예 : 테스트 및 프로덕션)에서 변경 사항을 가져올 수 있습니다. .
여기 제가 약간 혼란 스러울 수 있습니다. 저장소 자체와 저장소의 분기점의 차이점을 이해할 수있는 책을 확인할 수 있습니다. Git은 코드를 체계적으로 정리할 수있는 좋은 선택이다.함께 가기로 결정한 경우이 사이트를 살펴보십시오. http://gitimmersion.com/
감사합니다. 그 사이트는 유용하게 보입니다. 나는 그것을 읽을 것입니다. 명확하게하기 위해 변경 사항을 마스터와 병합하지 않고 한 분기에서 다른 분기로 병합 할 수 있습니까? – Mindthetic
예, 커밋을 다른 분기에 독립적으로 병합 할 수 있습니다. 마스터가 "중간 지점"일 필요는 없습니다. – acadavid
좋습니다. 귀하의 예제에서 마스터 리포지토리는 전체 셋업 즉, 분산되어 있습니다. 프로덕션 서버 (또는 라이브 사이트)로 사용되지 않습니다. 이것이 갖는 이점은 무엇입니까? 많은 감사합니다. – Mindthetic