Git - развернуть папку dist на другой пульт

Я пытаюсь выяснить способ развертывания папки dist для другого удаленного репо с помощью Git.

Рабочий проект хранится в папке app. Я использую grunt для оптимизации и компиляции рабочего проекта в папку dist. Я хочу знать, есть ли способ, который я могу, чем использовать git, чтобы нажимать только папку dist на другой пульт, чем источник, который использует остальная часть проекта.

Очевидно, мне просто нужно, чтобы папка dist вышла вживую. Не весь проект.

Я пробовал смотреть в git Subtree - но я не уверен, что понимаю концепцию или могу использовать ее для выполнения того, что я пытаюсь сделать.

Любые советы были бы чрезвычайно полезны!

Спасибо заранее!

Рич

Ответ 1

Вы можете:

  • сделать dist как независимое репо в вашем текущем репо.
  • объявить dist как подмодуль: см. Git Подмодули.
  • установите пульт в репозитории dist, ссылаясь на ваш производственный сервер.

    git remote add prod /url/to/your/prod/server
    
  • нажмите из этого подмодуля

    cd dist
    git push prod master
    

Это означает, что у вас есть на вашем сервере:

Ответ 2

Если dist также пересматривается вашим репозиторием, вы также можете использовать поддерево для своих нужд.

Предполагая, что у вас уже есть настройка удаленного репозитория в вашем локальном репозитории, после того, как вы внесете изменения в dist, команда для нажатия поддерева:

git subtree push --prefix dist distRemote remoteBranch

Что делает эта команда, сначала создается новый набор коммитов, в которых dist является корневой папкой и появляются только изменения в dist. Затем этот фиксатор помещается в remoteBranch в репозиторий distRemote.