Поэтому предположите, что у меня есть локальный репозиторий, который я клонировал от некоторого источника. Во время моего начального клона источник имел четыре ответвления: featureA, featureB, функции и ведущее устройство. Если я продвигаю изменения в источнике, которые удаляют ответвление featureA, я ожидал бы видеть что-то об этом удаляемый в следующий раз, когда я выхожу:
Мерзавец $ вытягивает источник
Однако то, что происходит, - то, что я ничего не вижу и когда я пытаюсь раскрыть то определенное ответвление с
Мерзавец $ вытягивает источник featureA
Я получаю следующую ошибку:
фатальный: не Мог найти удаленным касательно featureA
фатальный: удаленный конец неожиданно завис
Это полностью имеет смысл, поскольку ответвление было на самом деле удалено из удаленного так да, касательно не там больше однако, я задаюсь вопросом, почему я не стал уведомленным об этом факте. Мой .git/config для удаленных взглядов как это:
[удаленный "источник"]
выберите = +refs/heads/:refs/remotes/origin/
URL = cjames@svn.perecep.com:/data/git/perecep.git
Я записал маленький сценарий оболочки, который использует мерзавца ls-remote наряду с выводом от ответвления мерзавца-r для обнаружения удаленных судей, ответвления которых больше не существует на сервере, и предложите мне, если я хотел бы удалить их, но я задаюсь вопросом, делаю ли я просто что-то по сути неправильно здесь?
Хорошо, нет необходимости в специальном скрипте. Я думаю, что я упускаю из виду эту команду
$ Git Remote Brundegrape Program
с страницы человека:
prune Deletes all stale tracking branches under . These stale branches have already been removed from the remote repository referenced by , but are still locally available in "remotes/". With --dry-run option, report what branches will be pruned, but do no(sic) actually prune them.
Я не думаю, что вы делаете ничего плохого. Ваша локальная ветвь не зависит от удаленной ветви для существования, и это совершенно действительное состояние дел для удаленной ветви для удаления, в то время как локальная ветвь (то же самое имя и якобы та же история), чтобы продолжать существовать. Это «централизованный» подход, который вы описываете, если что-то, что будет считаться неортодоксом в Git.
Редактировать: тангенциально, вы можете заинтересовать - трек
и - без трека
варианты Git-Fiving, а также филиал.autoSetuppmerge
Конфигурация Переменная.