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