Ответы пользователя по тегу Git
  • Можно ли настроить Git/Mercurial для работы с shared-хостингом?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Если у вас есть доступ к серверу по ssh, то можно сделать все что угодно. Хоть node.js разрвернуть (правда приложение на node.js можно развернуть только с дикими кастылями и лучше вообще не пытаться).

    Некоторые хостеры из коробки предоставляют git, другие же позволяют заливать бинарники в директории типа ~/bin где собственно и будут искаться бинарники. Пакеты ставить вам никто не даст, но нету никаких проблем с тем что бы просто скачать бинарник.

    Если же вы хотите жить красиво, можете настроить на локальной машине таск на деплой через ci сервер. Алгоритм будет прост, на каждый пуш в мастер или еще по какому критерию будет запускаться сборка проекта, все зипуется в архив и заливается/синкается через scp.
    Ответ написан
    Комментировать
  • В какую папку нужно положить проект git?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    никуда проект ненадо ложить, ни в какие .git директории. Напротив, .git директория должна лежзать в папке проекта.

    В gitlist можно указать директорию с репозиториями, в которой оно и будет их искать.
    Обратите свой взор на файлик config.ini в корне gitlist, там есть опция repositories, в которую вы должны занести пути ко всем проектам.

    другие ошибки это не ошибки а стэктрейс, цепочка вызовов которая в конечном счете привела к выбросу исключения. Скорее всего ошибка именно в том что не указаны репозитории в конфиге и он лезет непонятно куда.
    Ответ написан
    Комментировать
  • Как синхронизировать хостинг и локальный сервер для удобного редактирования?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Все популярные IDE имеют встроенные механизмы синхронизации файлов на сервере. Так же можно использоват систему контроля версий (если все же вы будете не по одному файлу обновлять, а скажем... закончили кусок работы - обновили). Про миграции и базу данных вам уже сказали.

    Вообще не вижу смысла в редактировании файлов на сервере или в мгновенном деплое при изменении файлов.
    Ответ написан
    Комментировать
  • Cистему для ведения репозитория электронных документов?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    ну… mongodb — хранить ревизии как поддокументы или просто подумать над структурой данных. наличие git или svn вам никак не помогут. Хранить базу в svn крайне глупо. git же для бинарников крайне нежелательно использовать. Ну и опять же глупо.

    Так как монга имеет rest интерфейс, можно написать простенький клиент на каком angular.js + twitter bootstrap.
    Ответ написан
  • Отмена коммита в локальном репозитории через PHPStorm

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    для отмены коммита нужно делать reset. checkout только для отмены изменений для отдельного файла.
    в PHPStorm — VCS -> Git -> Reset HEAD.
    Ответ написан
    3 комментария
  • Как правильно сделать deploy с помощью git?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Можно написать простенький BASH скриптик для деплоя, и повесить его выполнение на хуку при пуше. Примеров масса: вот, вот и вот
    Ответ написан
    Комментировать
  • Перевод терминов Git на русский?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В русской версии ProGIt все довольно нормально переведено. Но я считаю что переводить команды не стоит.
    Ответ написан
    1 комментарий
  • Защита стартап-проекта при разработке

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Касательно разделения обязанностей.
    Разделись обязанности в пределах одного репозитория, насколько мне изменяет память, нельзя. Проблему можно решить создав на каждый компонент отдельный репозитории и поместить их в главный как саб-модули. В этом случае вы можете полностью контролировать доступ разработчиков к конкретным компонентам. В SVN-же вы можете настроить доступ к отдельным компонентам в пределах одного репозитория, но это все же SVN и тут много своих нюансов.
    Ответ написан
  • Git (BitBucket) + JIRA + PhpStorm — План работы?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Я обычно работаю по следующей схеме:

    Если над задачей работает один человек, то обычно в локальном репозитории создается отдельная ветка от мастера, и разработчик работает там. Если появились изменения в мастере — rebase коммитов из мастера в новую ветку поможет (если внесенные в мастер изменения вам нужны). Затем, просто делается rebase коммитов из новой ветки в master, а та самая локальная ветка попросту удаляется за ненадобностью. В дереве коммитов все будет выглядеть так, как будто бы все делали в мастере.

    Если же над таском работает не один человек — то просто пуште новую ветку и работайте по той же схеме, переодически синхронизируя изменения. Опять же по завершению работы коммиты ребейзятся на мастер и ветка (локальная и на сервере) удаляются.
    Ответ написан
    1 комментарий
  • Как синхронизировать продакшен и локальную версию проекта?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Обычно синхронизация идет из репозитория на продакшен. Способ для ленивых — на сервере склониться из репозитория.
    Ответ написан
  • Командная работа в Git

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Как поступаю я в такой ситуации:
    Есть master, там всегда только стабильный код, то бишь после каждого коммита перед пушем (в идеале перед коммитом) прогоняются тесты. Все фичи делаются в локальных ветках (если людей фичу делает несколько — эту ветку можно запушить). Когда фича закончена — она мерджится в master.

    dev версия сайта обычно клонится с master, в редких случаях создается ветка dev (хотя на моей памяти никогда это не нужно было).

    А дальше, если работаете итерациями и у вас несколько версий должно быть задеплоено — все разносится по своим веткам. На сервере же делается просто checkout нужной ветки.

    То бишь доделали фичу — смерджили в мастер. Прогнали тесты. Если все хорошо — пушим. Если нужно выкатить на лайв или куда еще — мерджим фичу/master в нужную ветку. После изменений в ветках отличных от master все должно быть замерджено в него, ибо ветки с фичами делаются от мастера.
    Ответ написан
    Комментировать