Я пытаюсь настроить службу, которая будет автоматически обновлять мой репозиторий при обнаружении изменений в удаленной ветви. Прежде чем кто-либо упомянет об этом, я знаю, что встраивание пароля в URL - плохая практика. В настоящее время я использую:
git fetch https://<user>:<pass>@github.com/<org>/<repo>
, который дает вывод:
From https://github.com/<org>/<repo>
* branch development -> FETCH_HEAD
Когда я запускаю git status
после выполнения выборки, он не обнаруживает самые последние изменения .
Если я запускаю обычный git fetch
без URL-адреса и ввожу имя пользователя и пароль вручную, я получаю другой вывод:
From https://github.com/<org>/<repo>
96353f7..e88782c development -> origin/development
И затем выполнение git status
работает как предсказано и обнаруживает, что в удаленной ветви есть изменения.
Я не очень разбираюсь в Git и чувствую, что упускаю что-то очень очевидное. Если кто-то может указать на мою ошибку, это будет высоко ценится!
РЕДАКТИРОВАТЬ:
Так что, похоже, отсутствующий кусок был для меня, чтобы указать локальную и удаленную ветку после URL:
git fetch https://<user>:<pass>@github.com/<org>/<repo> development:origin/development
Как указывает принятый ответ: если вы не указываете удаленное имя, git помещает удаленные изменения в FETCH_HEAD по умолчанию. Это решается путем явного указания локальной и удаленной ветвей.
Я все еще немного сбит с толку относительно того, почему git fetch
знает, что нужно извлечь из удаленного источника по умолчанию, но указание URL меняет это значение по умолчанию. Но это работает сейчас в любом случае