Чтобы получить новые коммиты
git fetch
Сброс
Вы можете сбросить фиксации для местного отделения с помощью git reset
.
Чтобы изменить коммит местного филиала:
git reset origin/master --hard
Будьте осторожны, так как документация ставит его:
возвратов индекс и рабочее дерево. Любые изменения в отслеживаемых файлах в рабочем дереве с < commit> отбрасываются.
Если вы хотите сохранить все изменения, которые у вас есть на месте, сделайте вместо этого сброс --soft
. Что будет обновлять историю фиксации для ветви, но не изменять какие-либо файлы в рабочем каталоге (и вы можете их зафиксировать).
Rebase
Вы можете воспроизводить локальные коммиты поверх любой другой фиксации/ветвь с помощью git rebase
:
git rebase -i origin/master
Это будет вызывать перебазироваться в интерактивном режиме, где вы можете выбрать, как применять каждый индивидуальная фиксация, которой нет в истории, которую вы перегружаете сверху.
Если вы удалили (с git push -f
), уже были занесены в местную историю, они будут перечислены как коммиты, которые будут повторно применены - их нужно будет удалить как часть перестановки или они просто будут повторно - включается в историю для отрасли - и вновь появляется в отдаленной истории при следующем нажатии.
Для получения более подробной информации и примеров по любой из вышеуказанных (или других) команд воспользуйтесь справкой git command --help
.
они могут удалить свою ветку и снова создать ее, без необходимости удаления всего репо: 'git checkout master && git branch -D test && git checkout -b test origin/test' – Florian
Возможный дубликат [Force Git to перезаписать локальные файлы при загрузке] (http://stackoverflow.com/questions/1125968/force-git-to-overwrite-local-files-on-pull) – gpoo