2016-09-07 2 views
0

Мой сайт настроен через CodeIgniter. Мое приложение index.php-файл, таблицы стилей, изображения и т. Д. Находятся в веб-роуте, а мои фактические приложения - контроллеры, модели, представления, конфиги и т. Д. - расположены над веб-корнем. Структура папок приведена ниже.Git: Развертывание проекта по нескольким папкам

/var 
    /ci_applications 
     /my_site 
      /views 
      /controllers 
      /etc... 
     /some_other_site 
      /views 
      /controllers 
      /etc... 
    /www 
     /my_site 
      index.php 
      /images 
      /etc... 
     /some_other_site 
      index.php 
      /images 
      /etc... 

Теперь давайте предположим, что я хочу совершить прямо на мой сайт с помощью Git (а не, скажем, на GitHub совершали и развертывание отдельно). Я уже нашел способ сделать это, но у меня есть одно последнее осложнение, которое нужно преодолеть (это может потребовать от меня найти новый метод).

Как вы можете видеть, одно приложение, такое как «my_site» или «some_other_site», состоит из двух разных файловых структур в двух разных местах.

Итак, в этом заключается моя проблема (по общему признанию, это немного новичок, когда речь заходит о Git): есть ли способ иметь на моей локальной машине один проект Git, который может быть передан и перенесен на сервер , поместив сервер приложений в папку ci_applications и интерфейс в папке www?

То, что приходит на ум очень очевидно, заключается в том, чтобы рассматривать/var как корень проекта, а ci_applications и www - дочерние папки. Тем не менее, я беспокоюсь о том, что Git удаляет все содержимое/var в стороне от проекта, который будет развернут (не уверен, что это действительное беспокойство или нет). Кроме того, как вы можете видеть, в структуре папок и, возможно, больше, есть два проекта, которые могут также вызвать проблемы с удаленным репозиторием Git.

Я полностью переосмыслил это? Я пытаюсь сделать что-то сверх того, что Гит может выполнить в одиночку? Я просто идиотский новичок? Любые советы приветствуются.

ответ

0

Если вы настаиваете на использовании GIT и хотите включить всю структуру файла, то /var должен быть корнем проекта.

Чтобы устранить беспокойство о том, какая структура в настоящее время находится на сервере, простой ответ GIT - это нажать GIT этого в другой репозиторий, чтобы он стоял в качестве резервной копии. В этом случае, если на «старом» сайте существует история GIT, вы всегда можете вернуть ее после того, как вы нажмете свою «новую» фигуру.

Для выборочного развертывания из нового репозитория вы всегда можете его разветвить, удалите папки/файлы, которые не нужны, прежде чем вы нажимаете их на сервер. Затем вы можете вернуться в репозиторий сервера и перейти на главную ветку. На самом деле вам даже не нужна ветка. Вы просто возвращаетесь к предыдущей фиксации (при условии, что у вас есть один, прежде чем вы начнете удалять вещи), которые будут все части и части проекта.

С учетом всех вещей, я думаю, что было бы проще клонировать ваш «новый» репозиторий на рабочую станцию ​​и использовать ftp или другие инструменты для его размещения на сервере.

Смежные вопросы