2013-04-12 5 views
1

stabledev의 두 가지 버전의 프로젝트가 필요합니다. 그것은처럼 보일 것입니다 : 내가 dev 버전에 일부 변경을 원하는Git. 프로젝트의 안정 버전 및 개발 버전 유지

/home/me/proj/stable 
/home/me/proj/dev 

다음 stable에 가져. dev의 모든 변화에 dev 디렉토리

2) git clone dev stable

3)에

1) 프로젝트 만들기 : 그것은 잘 작동

cd /home/me/proj/dev 
git add . 
git commit -m 'fixes' 
cd ../stable 
git pull 

내가 작업을 해결하는 방법

,하지만 dev에서 일부 파일을 삭제 한 다음 pull을 수행하면 해당 파일이 삭제됩니다. stable까지. 나는 그들을 거기에서 원하지 않는다. stabledev의 전체 사본이되고 싶습니다.

+1

사용해야하는 경우. 왜 그걸 사용하고 싶지 않아? –

+0

@ReinHenrichs 그는 클론으로 위장되었지만 그는 존재합니다. – sehe

+0

두 클론 모두 마스터 체크 아웃중인 경우 분기를 사용하지 않습니다. –

답변

3

또는 dev와 stable의 두 가지 브랜치로 GIT를 사용하고 브랜치를 병합하여 두 '버전'을 동기화 된 상태로 유지해보십시오. 로 :

$ mkdir /home/me/proj; cd /home/me/proj 
$ git init 
$ echo 'README' > README; git add README; git commit -m 'README' 
$ git branch stable 
$ git checkout -b dev 

# do your development 
$ git commit <stuff> 

# now bring the stuff to <stable> 
$ git checkout stable 
$ git merge dev 

참고 : dev에서 삭제 된 파일은 위의 병합에 stable에서 사라집니다.

# back to dev for more development 
$ git checkout dev 

당신이 어딘가에 안정 버전을 배포 이것은 가지가있는 것입니다

$ cd <parent dir for deploy> 
$ git clone /home/me/proj --branch stable 
+1

Nice! 방금 해봤 어. 그것은 위대한 작품) 그리고 그것은 더 편리한, 다음 지점 대신 폴더가 있습니다. 대단히 감사합니다. – imkost

1

난 당신이

git clean -df . 

찾고있을 것 같아요 (비록 삭제이 버전하는 경우, 로컬 변경 사항이 있었다하지 않는 한 자동해야한다)

수행해야합니다 삭제 추적하려면

git add -A . 

대신 단지

git commit -am '........' 
+0

작동합니다, 고맙습니다. – imkost