Вот в общих чертах (могу рассказать подробнее) наш рабочий процесс:
1) У нас есть prime repo
на удаленном сервере.
2) У нас есть bare repo
на удаленном сервере.
3) У нас есть клон голого репо с рабочим деревом на наших локальных компьютерах и bare is setup as a remote
на наших локальных репозиториях.
При этом мы работаем как минимум с двумя ветками: веткой dev и веткой master.
Хук будет управлять этим процессом, чтобы вносить изменения в dev или master в соответствии с размещением HEAD.
Итак, это хороший рабочий процесс, но мне интересно, может ли кто-нибудь помочь нам сделать его еще лучше.
Допустим, пользователь А работает на своем локальном branch test-this-thing
;
Он/она желает, чтобы другой разработчик также работал над этой веткой.
Принимая во внимание описанный выше рабочий процесс, есть ли способ отправить конкретную ветку, чтобы другие пользователи могли также получить эту работу из этой конкретной ветки, чтобы они могли работать над тестом-этой-вещью вместе ?
Обновить
концентратор или источник переименован. Так:
Если я делаю локально:
git checkout -b test
git push hub test
Я получаю ветку на голом репо. ХОРОШО.
Если другой разработчик Б:
git checkout -b testdeveloperB
git pull hub test:testdeveloperB
Он успешно fetch
и merge
ветки test в testdeveloperB.
Итак, предположим, что разработчик B вносит изменения в локальную ветку testdeveloperB и хочет отправить эти изменения в тестовую ветку хаба.
Он ЕСТЬ на ветке testdeveloperB
Я старался:
git push hub test:testdeveloperB
- там написано, что такого теста нет.
Я старался:
git push hub testdeveloperB:test
- и вроде нормально.
Итак, что касается этого push
- первый параметр после хаба - это место, куда мы помещаем ссылки на наши файлы, а второе - это то, куда мы хотим, чтобы ссылки на файлы направлялись.
Поскольку мы находимся в нашей локальной ветке testdeveloperB, зачем нам явно ссылаться на нее?
Почему мы не можем просто сделать git push
?
обновить с ответом, ПОТОМУ ЧТО мы не настроили это в нашей конфигурации git, поэтому git не знает, что с этим делать.
Заранее спасибо.
git push origin test-this-thing
(при условии, что ваше голое удаленное репо называется origin), но я предположил, что это не совсем то, что вам нужно, и в своем вопросе вы сказали: 1) Мы иметь основное репо на удаленном сервере. - мне было интересно, какова цель этого репо, и имеет ли оно какое-то отношение к этому вопросу. - person 1615903   schedule 24.04.2013