2017-01-30 9 views
1

Я немного новичок в Git, поэтому я все еще прибиваю рабочий процесс. В принципе, я думаю, что я буду использовать две ветви мастера. Один для хранения ВСЕХ моих файлов dev (Master) и один для хранения файлов, необходимых для производства на сервере (Production). Таким образом, структура выглядит так.Git нажимает только определенные файлы в производственную ветвь

Me - Commits - Master Branch - Production Branch 

Однако не все файлы должны находиться в Производственной ветви. Итак, у меня есть несколько вещей, которые я пытаюсь выяснить ... Первый из них: как ограничить, какие файлы будут перенаправлены в производственную ветвь?

. 
├── master.py 
├── presets.py 
| ├── preset1.py 
| └── preset2.py 
├── other_scripts 
| ├── something.sh 
| └── somethingelse.sh 
├── test.py * 
├── Instal.md * 

Так, например, предметы с * не нужны в производстве. Как их исключить? И еще больше, хотел бы я сделать оттяжку/clone FROM master до производства или нажать на TO?

Любые подсказки рабочего процесса были бы замечательными! Спасибо!

+3

Похоже, вы пытаетесь использовать GIT в качестве стратегии развертывания. Я не рекомендую это, так как это не то, что для GIT. Для развертывания программного обеспечения существуют более эффективные инструменты. – Oxymoron

+0

Посмотрите на TeamCity – Oxymoron

ответ

0

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

Тогда вы можете проверить другую ветку. Содержимое папки изменяется, и эти другие файлы «исчезли», потому что они не являются частью этой ветви. Создавайте/редактируйте другие файлы, добавляйте их, фиксируйте, и они будут частью этой ветви (а не другой).

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

0

Вы можете добавить все записи в файл .gitignore, если у вас нет этого файла, перейдите в каталог git repo и запустите это touch .gitignore.

Добавить записи игнорируются в этом файле, образец записи в этом файле

# compiled output 
    /dist 
    /tmp 

    # dependencies 
    /node_modules 

    # IDEs and editors 
    /.idea 
    .project 
    .classpath 
    .c9/ 
    *.launch 
    .settings/ 

Все эти файлы и каталоги будут игнорироваться, а совершали

0

Вы можете удалить соответствующие файлы (только если уже добавлено). Если файлы не нужны постановочные вы можете выполнить следующую команду:

git rm --cached test.py Install.md 

к убрать из буфера их, а затем:

git add master.py presets.py other_scripts 
git commit -m "Only needed files." 
git push productionBranch 

Если вы думаете, что вы никогда не должны толкать эти файлы в любой вы можете добавить свои имена к .gitignore:

presets.py 
other_scripts