2013-03-08 3 views
1

Я не знаю, имеет ли это смысл или нет ...Можно ли отслеживать только папку в ветке git?

У меня есть основной частный git-репозиторий, где я все кодирую. И я настраиваю другой публичный git, чтобы публиковать публичные результаты (некоторые из моих исходных данных являются конфиденциальной информацией). У меня есть все результаты, готовые в одной из папок в частном git.

Итак, можно ли сделать ветку (github-pages) публичной дорожки git только в папке с результатами моего частного git?

Или у вас есть лучший рабочий процесс для этого?

Спасибо,

ответ

0

Поскольку это отделение, я рекомендовал бы просто удалить все, кроме этой папки из филиала и совершения. Похоже, что вы все равно хотите, чтобы это в этой ветке, это не должно влиять на ваш рабочий процесс.

1

Да, можно

Вы могли бы сделать что-то вроде этого:

1) переместить личную папку временно в другое место

2) создать новый репозиторий (вы должны сделать это удалите журнал из старых коммитов, которые могут подвергнуть личные файлы в общественном филиале) и включить в основной ветви только общедоступные файлы (сейчас)

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

2) Создать и оформить новую ветку с именем public_stable

git checkout -b public_stable 

3) создать .gitignore файл с линией '/ частно-папка-имя вашего /. в public_stable отрасли, чтобы исключить эти файлы из общедоступного филиала

, например, на коробке Linux ...

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

следующий ...

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

4) Вернитесь к мастеру и создать новую ветку private_stable от мастера

git checkout master 
    git checkout -b private_stable 

4) теперь вы можете переместить частную папку на свой Проект

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

5) После этого, вы будете иметь два основных направления для работы на: public_stable и private_stable

6) Для того, чтобы работать на ваших личных файлов вы должны расшириться от private_stable создать отдельный незавершенное от стабильная работа.

от private_stable ...

git checkout -b private_issue 

и как только вы сделали на private_issue вы можете объединить изменения в private_stable

И вы могли бы применить тот же рабочий процесс public_ * ветви

Таким образом, вы можете изолировать население от частных содержания.

Мастер будет иметь все файлы, но вы должны избегать слияния .gitignore, расположенный в public_ * филиалах освоить или private_ ветви.