2012-02-07 2 views
15

Я начал использовать SourceTree несколько дней назад, чтобы управлять репозиториями Mercurial с моим Mac. Теперь я столкнулся с проблемой, когда нажатие на мой удаленный репозиторий создает новую голову в новой ветке, и я бы хотел ее заставить.Принудительное нажатие с SourceTree

Однако, я не могу найти какой-либо определенный вариант в SourceTree, который позволяет мне установить параметр силы для нажатия. Это просто моя неспособность найти ее или нет возможности ее установить?

Заранее спасибо Майкл

+3

Это не ваши ответы (никогда не используется sourcetree), но из командной строки предпочтительнее использовать 'hg push -new-branch' вместо' hg push -force'. Причиной того, что '--force' может переопределить всевозможные« Вы уверены ?! » включая (a) новый руководитель существующей ветки и, что более важно, (b) полностью несвязанные репозитории. Использование '--new-branch' по-прежнему останавливает/предупреждает вас в этих двух других случаях. –

ответ

13

SourceTree наконец собирается добавить силы толчок: https://jira.atlassian.com/browse/SRCTREE-1156

Причина: https://answers.atlassian.com/questions/54469/how-do-i-perform-a-forced-push-push-f-from-sourcetree

Edit: Он теперь добавлен в SourceTree, но вам нужно включить опцию в настройках.

+1

Обратите внимание, что это доступно только в версии 1.6, которая только что прошла в бета-версии с прошлой недели: http://blog.sourcetreeapp.com/2013/03/28/sourcetree-for-mac-1-6-beta/ –

+0

Вы уверены, что это первая бета-версия? Я не мог видеть вариант, и проблема в Jira все еще показывает «в процессе». – Zammbi

+1

Статус Jira отображается как закрыт для меня, но функция, описанная в билете, действительно не реализована (пока?) В первой бета-версии. Надеюсь, во втором?Интерактивная перестановка (для Git) делает загрузку бета-версии даже без силового нажатия (по крайней мере для меня). –

2

SourceTree (от вер. 1.4.2) выдает hg push --new-branch по мере необходимости, так что если вы создаете новую ветвь (в отличие от того, две голов на одной ветви), вы просто (РепозиторийPush). Вы можете, опционально, указать ветку, которую хотите нажать, если у вас есть исходящие изменения в нескольких ветвях.

Я не смог найти способ правильно выполнить hg push --force через диалоги SourceTree. Я согласен с @ Ry4an, что этот вариант более опасен, чем полезен. Я никогда не делал силовой толчок, так как --new-branch был представлен, и ему никогда не понадобилось объединять несвязанные репозитории или нажимать двухголовую ветку (усиление силы намного безопаснее).

Я пришел к выводу, что в редкий случай, когда требуется принудительный толчок, открытие терминала не повредит. Если вы не согласны, поделитесь своим рабочим процессом комментариями.

+0

Я думаю, что теперь опция '--new-branch' достаточно, так как мы немного изменили рабочий процесс (как вы косвенно предложили;). Спасибо за вашу помощь! –

+1

Я не уверен в Mercurial, но для Git, рабочий процесс переустановки довольно распространен. Вся наша компания использует SourceTree для всего, но вместо того, чтобы тянуть/сжимать, мы вместо этого переставляем нашу текущую ветку на вершину ветки, с которой мы хотим объединиться. Rebasing с использованием SourceTree - все хорошо и хорошо, но бесполезно, когда мы не можем заставить наши изменения переместиться на наш пульт! Затем мы должны разорвать открытый терминал при каждом «слиянии». Зачем отключать опасные функции, а не подвергать их большим количеством предупреждений? – Tim

+0

@ Тим: Я считаю, что сила, нажимаемая в Git, отличается от силового нажатия в Mercurial. Если вам нужно сделать принудительное нажатие после перезагрузки в Mercurial, вам вряд ли понравится результат (две копии одной и той же ветви в удаленном репо). Что касается Гит, я не могу сказать. – Helgi

Смежные вопросы