Как создать ветку развертывания git для моего проекта Yeoman?

Я создал новый проект, используя Yeoman. С помощью Grunt я создал каталог dist. Весь мой проект находится на Github, https://github.com/d3a1i0/mykungfuisstrong.com, и я создал ветку prod. Мой вопрос заключается в том, как мне заставить мою ветку prod иметь только содержимое dist вместо того, чтобы иметь каталог dist и его содержимое. Таким образом, когда я работаю над мастером и хочу его развернуть, я могу просто зафиксировать новые изменения в ветке prod. Я пытаюсь сделать это, чтобы настроить grunt-build-control, о котором у меня могут возникнуть дополнительные вопросы в другое время.


person Neil    schedule 11.06.2015    source источник
comment
Вы хотите иметь две ветки с абсолютно разным содержанием? Что вы подразумеваете под только содержимым dist вместо каталога dist и его содержимого?   -  person Nick Volynkin    schedule 11.06.2015
comment
Спасибо @NickVolynkin, я думаю, может быть, я задаю неправильный вопрос, когда думаю об этом. Моя цель — настроить приложение так, чтобы его можно было развернуть с помощью Grunt-build-control, как описано в yeoman. .io/learning/deployment.html. Я прочитал это так, что мне нужно было получить ветку, в которой есть только готовые к производству файлы. Они находятся в каталоге dist, поэтому я пытался понять, как заставить ветку иметь только файлы в этом каталоге без самого каталога dist. Возможно, я все делаю неправильно.   -  person Neil    schedule 11.06.2015
comment
Я все еще немного смущен. Не могли бы вы объяснить, что именно вы хотите иметь в своей ветке или каталоге?   -  person Nick Volynkin    schedule 12.06.2015
comment
Мне нужно только то, что находится внутри каталога dist. Это файлы и подкаталоги папки dist. В настоящее время в ветке prod есть каталог dist, но мне нужно только то, что находится под ним. Итак, то, что находится в dist, на самом деле будет в корневом каталоге.   -  person Neil    schedule 12.06.2015


Ответы (1)


Из документа grunt-build-control смысл задачи в том, что вам не нужно об этом беспокоиться. Задача ожидает полную ветку, которая компилируется в папку сборки, а все остальное сделает за вас: сборка, затем коммит результата в локальную ветку, а затем отправка в нужное репо (например, Heroku разверните репо), если хотите.

Если вы просто хотите зафиксировать ветку, и она называется prod, ваш Gruntfile будет таким:

buildcontrol: {
    options: {
        dir: 'dist',
        commit: true,
        push: true,
        message: 'Built %sourceName% from commit %sourceCommit% on branch %sourceBranch%'
    },
    build: {
        options: {
            remote: '../',
            branch: 'prod'
        }
    }
}

Тогда вы позвоните grunt buildcontrol:build

person Xavier Priour    schedule 12.06.2015