2013-06-08 4 views
1

Я хочу иметь две ветви локально (например a-local и b-local) и два ветвей удаленно (например, a-remote, b-remote), и они совпадают попарно (например, a-local - a-remote и т.д.). Как убедиться, что я случайно не удаляю локальную ветвь в неправильную удаленную ветвь (например, a-local ->b-remote)?Предотвратить толкая в неверный удаленный филиал

Я использую git 1.8.2.3.

ответ

0

Ничего себе, это трудно сделать случайно.

После того, как вы git push --set-upstream origin a-local:a-remote, чтобы сделать его отслеживанию (и то же самое для другой пары), вы можете нажать только с git checkout a-local; git push или git-push a-local, и я должен сказать, что вам придется постараться, чтобы случайно нажать на некорректные отрасли ...

+0

Это действительно не сложно. Когда вы прыгаете между мастером и какой-то особенностью, случайная функция «push origin» в то время как у мастера вполне возможна. – RecursiveExceptionException

1

Перед тем, как на самом деле нажать, добавьте команду -n. Это показывает, какая локальная ветвь (ы) будет помещена в удаленные и удаленные ветви (ов) без фактического нажатия. Затем вы можете пересмотреть команду, используя -n и, наконец, когда будете счастливы, удалите -n.

Единственное, что я сделал, это настроить глобальную опцию push.default для восходящего потока на git config --global push.default upstream. Значение по умолчанию - это совпадение, которое будет пытаться нажимать каждую соответствующую ветвь.

Если ваш пульт дистанционного управления известен как origin (возможно, команда для изменения изменений на локальном будет git push origin a-local:a-remote -n. Но простой git push -n может функционировать на основе конфигурации push.default и upstream (см. Примечание kirelagin).

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