git-flow, 3 개의 '포인트'또는 유스 케이스, git 중앙 저장소, 로컬 개발 및 프로덕션 머신을 포함하는 답변을 시도하고 싶습니다. 이것은 잘 테스트되지 않았습니다 .
나는 엄청나게 구체적인 명령을 내렸다. 말하는 대신에 <your folder>
나는 말할 것이다 /root/git
. 원래 명령을 변경하는 유일한 장소는 특정 서버 이름을로 바꾸는 것입니다 example.com
. 폴더 목적을 설명하여 적절하게 조정할 수 있습니다. 혼란을 알려 주시면 답변을 업데이트하겠습니다.
서버의 자식 버전은 1.7.1입니다. 서버는 CentOS 6.3 (최종)입니다.
개발 머신의 git 버전은 1.8.1.1입니다. Mac OS X 10.8.4입니다.
중앙 리포지토리와 프로덕션 시스템은 동일한 시스템에 있습니다.
svn 사용자가 '서버'로 관련시킬 수있는 중앙 저장소는 다음과 같이 구성됩니다. /root/git
모든 자식 저장소를 보관 하는 폴더 가 있습니다. 'flowers'라고 부르는 프로젝트에 대한 git 저장소를 만들고 싶습니다.
cd /root/git
git clone --bare flowers flowers.git
git 명령은 두 가지 메시지를 주었다 :
Initialized empty Git repository in /root/git/flowers.git/
warning: You appear to have cloned an empty repository.
걱정할 것이 없습니다.
개발 머신에서 다음과 같이 구성됩니다. /home/kinjal/Sites
모든 프로젝트를 넣을 폴더 가 있습니다. 이제 중앙 자식 저장소를 얻고 싶습니다.
cd /home/kinjal/Sites
git clone root@example.net:/root/git/flowers.git
이것은 내가 물건을 추가 할 수있는 지점으로 안내합니다. 먼저 git flow를 설정했습니다.
git flow init -d
기본적으로 이것은 branch develop
입니다. 여기에 내 코드를 추가하십시오. 그런 다음 중앙 자식 저장소에 커밋해야합니다.
git add .
git commit -am 'initial'
git push
이 시점에서 그것은 개발 지점으로 밀었다. 이것을 마스터 브랜치에 추가하고 싶습니다.
git flow release start v0.0.0 develop
git flow release finish v0.0.0
git push
릴리스 시작과 릴리스 완료 사이에 아무 것도 수행하지 않았습니다. 그리고 릴리스가 완료되면 두 파일을 편집하라는 메시지가 표시됩니다. 이것은 개발 브랜치를 마스터로 푸시했습니다.
중앙 git 리포지토리와 동일한 컴퓨터에있는 프로덕션 사이트에서 리포지토리를에 넣고 싶습니다 /var/www/vhosts/example.net
. 나는 이미있다 /var/www/vhosts
.
cd /var/www/vhosts
git clone file:///root/git/flowers.git example.net
프로덕션 시스템이 다른 시스템에있는 경우 git clone
명령은 개발 시스템에서 사용 된 것과 유사합니다.
git clone --bare
가 당신이 생각하는 것을 할 것이라고 생각하지 않습니다.