Git Reset - пульты / источник / мастер не синхронизированы с локальным мастером - PullRequest
2 голосов
/ 23 марта 2012

В одном из моих репозиториев локальный мастер опережает пульты / origin / master

* - master (123)
* -
* - remotes/origin/master (456)

Все остальные мои локальные репозитории (основанные на том же удаленном репозитории) имеют удаленный / origin / master по адресутот же хеш коммита (123).Как мне сбросить локальное репо, чтобы пульты / источник / мастер вернулись в синхронизацию?

Ответы [ 2 ]

8 голосов
/ 23 марта 2012

Как отметил Пьер, вы «потеряете» свои локальные модификации (если вы зафиксировали свои изменения, они все еще там, как свободные объекты). Поэтому вы можете захотеть создать временную ветку перед сбросом

Это сбросит вашу локальную ветку, чтобы она указала на тот же коммит, что и на удаленном.

git fetch origin
git checkout -b old_master // optional 
git reset --hard origin/master
2 голосов
/ 23 марта 2012

что произойдет, если вы сделаете git fetch origin?

или если вы вручную что-то сломали в удаленной ветке, вы всегда можете:

git remote -v # note url
git remote rm origin  
git remote add origin <url>
...