Я запускаю Git Extensions 2.32 в Git для Windows (ранее известный как msysgit) 1.7.10.msysgit.1.
Другой пользователь создал новую ветку и отправил ее в удаленный репозиторий. Я хочу загрузить эту новую ветку в свой локальный репозиторий.
На этом изображении показано, что я пытаюсь сделать. Мастер в настоящее время извлечен, а другой пользователь добавил новую ветку «brentfo», которую он отправил в удаленный репозиторий. Теперь я хочу получить эту новую ветку в свой локальный репозиторий.
Я открываю диалоговое окно Git Extensions Pull, как показано на изображении. Я извлекаю из источника с параметром слияния «Не объединять, только извлекать удаленные изменения», выбирая новую удаленную ветку «brentfo». Когда я нажимаю кнопку Pull, я получаю диалоговое окно прогресса:
c:\Program Files (x86)\Git\bin\git.exe fetch --progress "origin" +refs/heads/brentfo
Done
From //dnzchfile1/git-chch$/mRouteDotNET
* branch brentfo -> FETCH_HEAD
Диалоговое окно прогресса не показывает никаких ошибок. Кажется, процесс завершается нормально.
Файл FETCH_HEAD показывает следующее:
eea033921fea43acf34a5baa380d1666181b56aa branch 'master' of //server/gitrepo/mRouteDotNET
5e0640e42d04a744aae2e95663a13c0747cacaf1 not-for-merge branch 'brentfo' of //server/gitrepo/mRouteDotNET
934e6034c526b703ac69b26497e0131f9bb71c2c not-for-merge branch 'mRoutePCLib' of //server/gitrepo/mRouteDotNET
Однако, когда я потом смотрю журнал фиксации, кажется, что ничего не произошло (журнал фиксации появляется на заднем плане на изображении диалогового окна Pull выше). Новая ветка, brentfo, не была создана в моем локальном репозитории. Когда я открываю выпадающий список ветвей, остается только две: master и mRoutePCLib.
Я получаю тот же результат, если в диалоговом окне Pull я не выбираю никакую удаленную ветвь (т.е. оставляю это поле пустым). В этом случае диалоговое окно прогресса показывает:
c:\Program Files (x86)\Git\bin\git.exe fetch --progress "origin"
Done
Похоже, когда-то была ошибка, связанная с созданием локальных веток из удаленных в более ранних версиях Git Extensions. Однако, глядя на проект Git Extensions журнал изменений, похоже проблема была решена еще в версии 1.55. Так что я предполагаю, что я делаю что-то не так.
Я знаю, что могу использовать консоль Git Bash, чтобы получить удаленную ветку и создать из нее новую локальную. Однако, похоже, я должен сделать это через графический интерфейс.
Я надеюсь получить ответы в том же духе:
а) Да, вы делаете это неправильно, и вот как вы должны это сделать (через графический интерфейс); или
б) Это известная проблема, вам придется делать это из интерфейса командной строки (Git Bash), пока ошибка не будет исправлена.
Привет Саймон