Настройка Git для команды из 3 человек?
сообщение направлено на обобщение всей информации, чтобы создать закрытый репозиторий для 3 человек в конкурсе. пожалуйста, не стесняйтесь добавить задачу в список, который я не отметил. Пожалуйста, добавьте каждый ответ на каждый вопрос как отдельный ответ.
- Ситуация A: черновики и файлы могут обмениваться между 3 людьми. Этот writer может только нажимать файлы на хранилище.
- Ситуация B: аналогично, но все товарищи по команде могут отправлять файлы в хранилище.
общие проблемы о ситуации
- как вы можете настроить удаленные ветви для людей A, B и C, чтобы члены команды могли видеть файлы, которыми их члены команды хотят поделиться?
- как вы можете настроить человека A как диктатора, который может только подтолкнуть изменения к священному хранилищу?
начальные проблемы о ситуации А
- как вы можете настроить репозиторий Git, где люди A, B и C могут тянуть? я предполагаю, что Git уже успешно установлен в хранилище
- как вы можете позволить писателю только толкать?
дополнительные проблемы в обеих ситуациях
- как вы можете установить до gitosis'а на ваш сервер, сначала настроив Python Setup-tools, когда у вас нет доступа к sudo?
- как вы можете эффективно сообщать об ошибках своим товарищам по команде?
4 ответов
Ситуация A
похоже, вы хотите настроить рабочий процесс integration manager. В этом случае человек A создает начальное хранилище, которое является священным хранилищем. Каждый человек, A, B и C, клонирует этот репозиторий для своей личной работы. Когда у человека B или C есть что-то, что они хотят, чтобы A включил в репозиторий для совместного использования, они фиксируют его в своем локальном репозитории и просят A вытащить из своего репозитория (a тянуть запрос); человека создает пульт ДУs для репозиториев человека B и человека C, а затем can git pull personB
или git pull personB
для слияния изменений. Человек а тогда git push
s объединенные изменения в священное хранилище.
вы можете настроить клонирование и нажатие на различные транспорты. Проще всего использовать протокол git через ssh. например,
- человек а делает священный репозиторий: см. "Создание удаленного репозитория" на этом страница из 37signals. Допустим, это в
/local/git/project.git
onsharedhost
. Вы можете оставить--shared=group
так как вы хотите, чтобы это был репозиторий интеграции. (Доступ на запись здесь защищен с помощью прав доступа к файлам Unix.) -
человек A, B и C в своих домашних каталогах клонируют этот репозиторий.
cd ~/src git clone ssh://sharedhost//local/git/project.git cd project # edit files in here. git commit
-
человек A настраивает пульты для репозиториев B и C.
git remote add personB ssh://sharedhost/~b/src/project git remote add personC ssh://sharedhost/~c/src/project
теперь человек может
git pull personB
чтобы принести изменения Б. Когда счастлив, он будетgit push
чтобы подтолкнуть вновь объединенные изменения к общему РЕПО и B и C cangit pull
за ними.
если настройка репозиториев звучит немного сложно, вы можете заплатить поставщику, такому как GitHub для обработки всех хостингов общих репозиториев git для вас. У них также есть поддержка, где они могут помочь вам с проблемами. Для меня, я обнаружил, что самая сложная часть-это понимание потока коммитов. Как только вы это поймете, все станет более осмысленным. Это обсуждение на gitready.com может помочь прояснить вещи для вас. Существует также видеоуроки, что покрывает подобный материал.
- как вы можете настроить репозиторий Git, где люди A, B и C может потянуть?
вам нужно использовать ssh-протокол (ssh username@ipAddress) и предоставить ssh-доступ 3 людям, предоставив для них учетную запись на машине, на которой размещен репозиторий (источник).
я рекомендую предоставить SSH ключи для членов вашей команды. Пожалуйста, смотрите пост. Это позволяет им клонировать, запустив, для пример:
git clone user@machine:/path/to/repo.git
развитая проблема
как можно предоставить отчет за 3 люди?
если ваши файлы должны быть частными, я рекомендую вам иметь учетную запись в Github, которая стоит вам несколько долларов. Вы также можете настроить РЕПО на своем собственном сервере с помощью Gitosis.
если ваши файлы могут быть открыты, я рекомендую вам использовать Github, так как это бесплатно цель.
более развитая проблема
как вы можете добавить пользователя в свой Git хранилище?
вы можете добавить пользователя в свою команду, запустив следующий код в своей ветке git
git add remote UserName ssh://ADDressToTheRepo
пример команды
git add remote schacon git://github.com/schacon/ticgit.git
более-более развитая проблема
как вы можете добавить ветку вашего друга к вашему ГИТ?
пожалуйста, смотрите мой ответ на нить.
один из них предложил мне воспользоваться gitosis'А, который поднял новая задача: как вы можете настроить Gitosis на свой сервер, сначала настроив Python-setuptools, когда у вас нет доступа sudo?
решение для установки Gitosis: пожалуйста, см. пост для установки новейшего Python. Обратите внимание, что ваша система, вероятно, имеет старый Python. Вы не можете обновить system-Python без обновления всей ОС. Например, вы не можете обновить Python Mac Leopard, потому что система зависит от него.
теперь вы можете начать установку python-setuptools. Пожалуйста, смотрите пост установить их.
Как вы можете эффективно сообщать об ошибках твои товарищи по команде?
У меня была проблема с сообщением об ошибках и запросах функций моим товарищам по команде.
программа TicGit решает проблему для меня. Это билетная система для Git, которую вы можете установить, просто настроив ее как отдельную ветку вашего проекта.