태그 목록에 git
을 언급 했으므로 svn
:) 대신 사용 하시길 바랍니다. 그래서 나는 다음과 같은 작업 흐름을 제안 할 것이다.
첫 번째 영역은 개발을 수행하는 컴퓨터 (또는 컴퓨터)입니다. 그것은 당신 자신의 놀이터이고 당신은 당신이 원하는 어떤 것도 자유롭게 할 수 있습니다. 또한 제품의 개발 설치 (호스팅 또는 기타의 폴더)가 있습니다. 고객이 "베타 버전"을 평가하는 곳입니다. 세 번째 엔티티는 프로덕션 코드입니다 (다시 말하면 호스팅의 폴더 또는 기타).
먼저 컴퓨터에 [private] git
- 저장소를 만듭니다. 또한 호스트에 dev.client.com
및 client.com
(또는 "베타"및 "프로덕션"영역이 다른 호스트에있는 경우 두 개의 리포지토리)에 프로젝트를 게시하기 위해 "베어"저장소를 만들어야합니다. 이에 대해서는 git init --bare
을 사용하십시오.
그런 다음 일반적으로 코드를 depelop합니다. 파일을 변경하고, 커밋하고, 수정하고, 기록에서 앞뒤로 이동하는 등 자유롭게 변경할 수 있습니다. 변경 사항을 기억하지 마십시오 .-- 로컬에 저장되므로 걱정하지 마십시오.)
게시자가 dev.client.com
에 게시할만한 가치가 있다고 생각할 때마다 적절한 커밋을 선택하고 tag
예를 들어 beta/v1.2.3.1234
. 생산 영역에 게시할만한 가치가 있다고 생각한다면 tag
예를 들어 rel/v1.2.3
. 그런 다음 호스트 저장소 (또는 리포지토리)에 push
개의 필수 태그를 지정합니다.
이제 변경 사항이 있지만 여전히 파일 시스템에서는 볼 수없는 저장소에 "압축"되어 있습니다. check out
이 필요합니다.
당신은 단순히 호스팅에 로그인하여 수동으로 같은 명령을 실행할 수 있습니다 :
cd /path/to/dev.client.com/dir/
GIT_DIR=/path/to/repository GIT_WORK_DIR=. git checkout beta/v1.2.3.1234
cd /path/to/client.com/dir/
GIT_DIR=/path/to/repository GIT_WORK_DIR=. git checkout rel/v1.2.3
이러한 단계를 자동화 할 수 있습니다. 누군가가 커밋과 참조를 푸시 할 때마다 호스팅 사이트에서 실행되는 post-receive
git hook이 있습니다.
힘내거나 SVN ??? 내가 아무 것도 쓸모없이 시간을 할애하기 전에 선택하십시오. –
주의 깊게 읽고주의를 기울이십시오. – LokoTerrorita