Я считаю, что ответ предоставляется Atlassian говорит, чтобы изменить имя удаленного филиала, когда вы увидите диалоговое окно принудительного.
- Открыть толкающий диалог
- Нажмите на имя удаленного филиала в колонке «Remote Branch» (шахта в настоящее время «мастер»)
- Введите новое имя Remo филиала - который был бы «рефов/for/master 'для меня
- Нажмите OK.
Это, похоже, правильно переместило коммиты в Gerrit для меня. Проблема, которую я имею сейчас, заключается в том, что значение «refs/for/master» не сохраняется. Теперь, чтобы понять это. Я обновлю этот пост, как только узнаю об этом. Надеюсь, это поможет даже допоздна в игре.
Обновление: выясняется, что вам нужно добавить кнопку ввода под удаленным началом в .git/config. Вы должны сделать это с помощью команды git config (чтобы я вручную отредактировал файл, я уверен, что это плохая практика). толкающие линии я написал это:
push = refs/heads/*:refs/for/*
здесь для ясности моего удаленный ввод координат в .git/конфигурации:
[remote "origin"]
url = ssh://gerrit-test.example.com:29418/mystuff.git
fetch = +refs/heads/*:refs/remotes/origin/*
push = refs/heads/*:refs/for/*
В SourceTree теперь вы можете нажать, и он будет толкать к Герриту вместо окончательное репо. (теперь вы можете просто сделать git push без указания чего-либо еще, и он будет толкать к gerrit). Обратите внимание, что после нажатия SourceTree по-прежнему будет показывать номер на кнопке «Push», в которой говорится, что у вас есть все, что нужно нажать. Это связано с тем, что он все еще извлекается из мастер-репо, и изменения, внесенные вами в gerrit, еще не объединены в master-репо. После того, как ваши изменения будут объединены в мастер-репо, номер на кнопке исчезнет.
Мне удалось изменить имя удаленной ветви, но это не помогло, поскольку он использовал мастер для локальной ветви, а не HEAD. Но ваши обновленные комментарии действительно помогли, добавив строку «push» в моем .git/config. – JoseM
Еще раз спасибо. Вот как это сделать с помощью команды git config: 'git config remote.origin.push refs/heads/*: refs/for/*' – JoseM
nice. намного лучше с помощью соответствующего инструмента командной строки. – mozart27