Используйте Git с существующими файлами и обновите ветку после нажатия

в настоящее время мы начинаем работать с Git и сталкиваемся с некоторыми проблемами.

Baiscally, что я хочу, это иметь Git-репозиторий, который пользователи могут нажимать и извлекать.

Также этот репозиторий должен работать как предварительная версия основной ветки, поэтому нам нужно иметь файлы скриптов в самом репозитории.

Я инициировал репозиторий с помощью «git init test.git». Так что это не голое репо.

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

Когда я создаю репозиторий и пытаюсь нажать на него, я получаю сообщение об ошибке, что текущая ветка master проверена в репозитории, и я не могу нажать на нее.

Любые идеи?


person phil    schedule 22.09.2014    source источник


Ответы (2)


Вы не должны нажимать на не голый репозиторий! Вы не можете нажать на проверенную ветку!

Теперь, учитывая вашу ситуацию, мое предложение:

Держите благословенный голый репозиторий! Выполняйте всю свою разработку на локальном компьютере, слейте/перебазируйте на мастере, а затем нажмите на благословенный голый.

Вы можете написать хук post-receive благословенного голого, что он имеет код/запускает скрипт, который имеет код для cd в ваше производственное репо, и вытащить из благословенного голого (это будет быстрая перемотка вперед, как вы, возможно, решили конфликты перед тем, как толкнуть на блаженный голый)

Таким образом, при каждом нажатии на «благословенный голый» вы подключаетесь к производству и обновляете проверенный мастер!

Надеюсь, это решит проблему.

Удачного гиттинга!

person Mudassir Razvi    schedule 22.09.2014
comment
это кажется хорошим решением :) Вы пробовали это? Теперь у меня есть сценарий после получения, который переходит в правильный каталог через компакт-диск, например этот cd /var/www/.../ git pull, но ничего не происходит, если я вызываю скрипт вручную, он выполняется правильно - person phil; 22.09.2014
comment
@phil: Приятно знать, что тебе нравится решение. Нет, я не пробовал это, но я сделал что-то подобное, и поэтому я знал, что это сработает. Ничего не происходит, когда вы выполняете сценарий вручную, потому что все, что должно было произойти, уже произошло, когда вы нажали на blessed_bare. - person Mudassir Razvi; 22.09.2014

Основываясь на том, что вы описали, я думаю, что реализация стратегии ветвления, известной как GitFlow может сработать для вас.

person Gary Ewan Park    schedule 22.09.2014
comment
Я не думаю, что это вообще решает проблему. И кажется, что это обычный рабочий процесс git, за исключением того, что «мастер» переименован в «разработать». Кроме того, кажется, что в среде с несколькими версиями происходит сбой, поскольку исправления выполняются на главном сервере. - person Pavel Šimerda; 22.09.2014
comment
Вы хоть пост в блоге читали?!? Есть две ветки. Один мастер и один разработчик. Что касается этого вопроса, вся работа выполняется в ветке разработки, при этом функции и выпуски создаются и создаются из ветки разработки. Затем, когда работа завершена и протестирована, они помещаются в защищенную основную ветку. Да, исправления выполняются в основной ветке, именно по той причине, на которую вы указываете, то есть для обеспечения поддержки нескольких версий. - person Gary Ewan Park; 22.09.2014
comment
Да, я читал сообщение в блоге, поэтому я говорил о его содержании. - person Pavel Šimerda; 22.09.2014
comment
Но мастер не просто переименован в разработку. Есть две действующие ветки. - person Gary Ewan Park; 22.09.2014