На моем рабочем месте мы только что перешли на Git для контроля версий после более чем 10-летнего использования Source Safe (yay!).Теперь я должен поддержать наших инженеров в изучении нового инструмента.Важно отметить, что мы все используем пользовательский интерфейс GitExtensions под Windows.
Несколько коллег (из пользовательского интерфейса) сделали следующее:
- клонировали центральное хранилище ( origin )
- создать новую локальную ветвь ( A ) на основе основной velop branch
- создать коммиты на A ветвь
- , когда эта ветвь A все еще проверена, они (по ошибке) вытянули основную развивающуюся ветвь в их A branch
Вот как выглядит пользовательский интерфейс GitExtensions, когда мы выполняем тягу (к сожалению, я не могу публиковать снимки экрана с работы):
Pullиз: origin
Локальная ветвь: A
Удаленная ветвь: velop
Параметр объединения: Слияние удаленной ветви с текущей веткой
(затем нажимается кнопка Pull)
Вот что показывает журнал команд GitExtensionsЭто сделано для извлечения:
git pull --progress "origin" +refs/heads/develop:refs/remotes/origin/A
После этой команды пользователи увидели новую ветку удаленного отслеживания origin / A в своей истории, в то время как мы подтвердили отсутствие ветки A присутствует на источнике.
Я посмотрел руководство по git pull, чтобы попытаться понять, что произошло, но все еще не могу понять, является ли то, что мы видим, ошибкой GitExtensions или недоразумением с нашей стороны, что должен делать git pull.
Кто-нибудь может помочь мне разобраться, что здесь происходит?
Заранее спасибо
Редактировать
Я знаю, что потянув за удаленную развивающуюся веткув локальную ветку A не имеет смысла, и я знаю, как разрешить ситуацию, удалив ветку удаленного отслеживания.Что я действительно хочу, так это понять логику, лежащую в основе ветки удаленного отслеживания origin / A , создаваемой в первую очередь, так как ветки A никогда не присутствовали в источнике.
Спасибо