2013-03-08 4 views
1

이것이 의미가있는 것인지 모르겠다. ...git 브랜치의 폴더 만 추적 할 수 있습니까?

나는 모든 코딩을 수행하는 주요 사설 자식 저장소가있다. 그리고 공개 된 결과 만 공개하도록 다른 공용 git을 설정했습니다. 원래 데이터 중 일부는 중요한 정보입니다. 모든 결과는 사설 자식 (private git) 내의 폴더에 준비되어 있습니다.

그래서 공개 git의 지점 (github-pages)을 내 개인 git의 결과 폴더에만 만들 수 있습니까?

아니면 더 나은 워크 플로우가 있습니까?

감사합니다,

답변

0

가 분기 이래로, 나는 단순히 지점에서 해당 폴더를 제외한 모든를 제거하고 커밋 추천 할 것입니다. 어쨌든 브랜치에있는 것을 원할 뿐이므로 워크 플로에 영향을주지 않아야합니다.

1

네, 가능

당신은 같은 것을 할 수있는 :

1) 다른 장소

2) 새로운 REPO를 만들려면 일시적으로 개인 폴더를 이동을 (당신이해야합니까

git init 
    git add . 
    git commit -m 'adding public files to repo' 

2) 지금까지 (공개 파일만을를 공공 지점에서 개인 파일 노출 될 수 오래된 커밋에서 모든 로그를 제거) 및 마스터 분기에 포함) 라인과 .gitignore 파일 생성)

git checkout -b public_stable 

3 public_stable라는 이름의 새로운 지점을 생성하고 체크 아웃 '/ 당신의-민간 폴더 이름 /을.' public_stable 지점에서,) ... 리눅스 상자에 공개 가지 예를 들어

에서 다음

touch .gitignore && echo '/your-private-folder/*' >> .gitignore 

...

git add .gitignore 
    git commit -m 'this branch will ignore files located on private folder' 

4 해당 파일을 제외 할 마스터로 이동 마스터

git checkout master 
    git checkout -b private_stable 

4)에서 새 지점 private_stable을 만들 지금 당신은에 개인 폴더를 뒤로 이동 할 수 있습니다 이 후, 당신은 두 가지 주요 지점이있을 것이다

git add /your-private-folder-name/. 
    git commit -m 'added private files' 

5) 프로젝트에서 작동 : public_stable 및 private_stable

6)에서 진행중인 별도의 작업을 만들 수는 private_stable에서 분기한다 귀하의 개인 파일에 대한 작업 안정된 작업.

from private_stable ...

git checkout -b private_issue 

당신은

을 private_stable에 변경 사항을 병합 할 수 있습니다 private_issue에 완료 그리고 당신은 * public_에 대한 지점

비공개 내용에서 대중을 분리 할 수 ​​있습니다 그 방법을 같은 워크 플로우를 적용 ​​할 수 번.

master에는 모든 파일이 있지만 public_ * 분기에있는 .gitignore를 master 또는 private_ 분기에 병합하지 않아야합니다.