Про Git

Тема в разделе "Другие", создана пользователем SpyDEL, 29 дек 2013.

  1. SpyDEL

    SpyDEL New Member

    Регистрация:
    29 дек 2013
    Сообщения:
    1
    Симпатии:
    0
    Недавно стал разбираться с git. Скоро я буду разрабатываться проект совместно с несколькими разработчиками. Почитал мануалы про git. Выстроил схему у себя в голове и потренировался. Но возникли вопросы. Прошу вашей помощи.

    Приведу пример, а ниже вопросы (поправьте меня пожалуйста, если я неправильно представляю сам процесс).

    1. Есть сайт site.ru, сделал репозиторий, проиндексировал файлы и сделал первый коммит.
    2. На другой домен для разработки dev.ru (который на другом сервере) сюда клонировал (использую phpStrom) репозиторий из site.ru.
    3. Локально с разработчиками дорабатываем проект, коммитим изменения на dev.ru.
    4. Когда все закончили переношу изменения в бой на site.ru.

    Вопросы:
    1. Когда из phpStrorm делаю push на dev.ru, то если не переключиться из ветки master выдается ошибка

    Push failed
    remote: error: refusing to update checked out branch: refs/heads/master[K
    remote: error: By default, updating the current branch in a non-bare repository[K
    remote: error: is denied, because it will make the index and work tree inconsistent[K
    remote: error: with what you pushed, and will require 'git reset --hard' to match[K
    remote: error: the work tree to HEAD.K
    remote: error: [K
    remote: error: You can set 'receive.denyCurrentBranch' configuration variable to[K
    remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into[K
    remote: error: its current branch; however, this is not recommended unless you[K
    remote: error: arranged to update its work tree to match what you pushed in some[K
    remote: error: other way.[K
    remote: error:[K
    remote: error: To squelch this message and still keep the default behaviour, set[K
    remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.[K
    error: failed to push some refs to 'ssh://root@**.**.**.**/var/www/...../project/.git'

    , а если создать другую ветку и переключиться на нее, то все пушится. В связи с этим вопрос почему так?
    2. Когда происходит push, то почему то пушится все в ветку master, это так задумано или можно выбирать куда пушить?
    3. После того как кто то сделает push, как я понял на сервере нужно делать каждый раз индексирование файлов и коммит, чтобы отслеживать изменения (конфликты)? Или я что-то не так понял.
    4. Когда все изменения будут готовы, все разработчики сделают, то что нужно. Как мне на удаленный сервер site.ru переместить окончательную ветку из dev.ru?
     
Загрузка...

Поделиться этой страницей