нужно отправить коммит в ветку - PullRequest
2 голосов
/ 29 апреля 2020

Я сотрудничаю с другими людьми. (другая компания)

Они используют геррит для проверки коммита.

Проблема (правило) заключается в том, что я не могу сделать sh мой коммит для прямого освоения, мне нужно пу sh сначала в ветку, затем они рассмотрят и объединят ее.

так:

  1. Удаленный сайт (Admin) должен создать для меня ветку? Я не могу создать локальную ветвь, затем pu sh на удаленную.

  2. Когда Admin создал ветку (например, tea_branch) для меня, эта ветвь только для отправки патча, может быть, через 10 дней в основной ветке уже появилось много новых коммитов, будет ли она автоматически объединена с tea_branch? или мне нужно попросить администратора сделать это?

  3. Могу ли я по-прежнему работать в основной ветке локально, но при необходимости добавьте pu sh в tea_branch? или всякий раз, когда я хочу отправить коммит, мне нужно работать в tea_branch, в этом моя забота, tea_branch может не обновляться.

Ответы [ 2 ]

2 голосов
/ 29 апреля 2020

Вы можете отправить sh в новый филиал напрямую. Фактически, акт толчка создает эту новую ветвь. Например:

$ git push ssh://sshusername@hostname:29418/projectname HEAD:refs/for/mybranch

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

1 голос
/ 29 апреля 2020

Я не буду работать с мастером локально.

Я бы проверял tea_branch локально и вносил бы в него изменения.

Если вы правильно подключены к удаленному устройству - например, выполнив git clone Затем, извлекая ветку, которая существует удаленно, создается локальная ветка, в которой настроена ветка, которую администратор создал для вас.

Вы должны регулярно объединять изменения кода с master. Чаще всего это означает, что изменения меньше и с меньшей вероятностью вызывают конфликты. Но вы также немного отвлекаетесь в своем рабочем процессе, поэтому найдите подходящую модель.

Перед созданием запроса на слияние вам определенно следует объединиться из master в ветвь. Таким образом, вы можете разрешить любые конфликты слияний до того, как они произойдут, и откорректировать любые изменения, произошедшие в master, которые влияют на ваш код. Я делаю это

git fetch

git merge origin/master

...