git fetch не обновляет мой локальный репозиторий
что хочется:
обновить все новости коммиты с сервера с моим локальным репозиторием во всех ветвях, но не объединять ветви (просто присоединиться к строкам истории).
Я пробую эту команду
git fetch --force --progress --verbose name@host:/path/to/repository.git
Я думал, что он будет работать нормально, потому что он показывает:
From host:/path/to/repository
* branch HEAD -> FETCH_HEAD
но, что означает этот результат? Если я вижу журнал, это не обновление. Если я делаю клон с сервера, все новые коммиты есть. Так... Команда не работает. Затем я пытаюсь ветвь, которая существует на сервере, но не в моем локальном репозитории
git fetch --force --progress --verbose name@host:/path/to/repository.git my_branch
результат:
From host:/path/to/repository
* branch my_branch -> FETCH_HEAD
и какого-либо успеха... Даже если я не знаю всех ветвей, и моя ветка была обновлена, я хочу получить эти изменения и могу видеть в своем журнале.
есть идеи, как это сделать?
3 ответов
когда вы получаете удаленные ветви, но вам все равно нужно объединить изменения из удаленной ветви в локальную ветвь, чтобы увидеть эти изменения.
после загрузки, попробуйте следующее:
git log origin/yourbranchname | head
git log yourbranchname | head
вы видите разницу?
Теперь:
git checkout origin/yourbranchname -b newbranchname
git log newbranchname
вы должны увидеть удаленные изменения в newbranchname.
вы также можете объединить эти изменения в свою ветку с
git checkout yourbranchname
git merge origin/yourbranchname
я столкнулся с этой проблемой раньше, основная причина в том, что вы не настроили удаленный.происхождение.получите локальную конфигурацию git.
используйте команду ниже, чтобы исправить вашу проблему:
git config --local --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
после этого запустите "git fetch origin", я думаю, вы получите ожидаемый результат.
git fetch
просто вносит изменения в локальную копию удаленной ветви. Если вы хотите обновить РЕПО или локальную ветку, вы должны следовать fetch
С merge
, или просто используйте git pull
за один выстрел.
Великий так ответ:https://stackoverflow.com/a/292359/102371