Ответ 1
Если вы действительно хотите отказаться от коммитов, которые вы сделали локально, то никогда не будете иметь их в истории снова, вы не спрашиваете, как тянуть - тянуть означает слияние, и вам не нужно сливаться. Все, что вам нужно, это следующее:
# fetch from the default remote, origin
git fetch
# reset your current branch (master) to origin master
git reset --hard origin/master
Я лично рекомендовал бы сначала создать резервную ветвь в вашем текущем HEAD, чтобы, если вы понимаете, что это была плохая идея, вы ее не потеряли.
Если, с другой стороны, вы хотите сохранить эти коммиты и заставить их выглядеть так, как если бы вы слились с источником, и заставить слияние поддерживать версии только с начала, вы можете использовать стратегию слияния ours
:
# fetch from the default remote, origin
git fetch
# create a branch at your current master
git branch old-master
# reset to origin master
git reset --hard origin/master
# merge your old master, keeping "our" (origin/master's) content
git merge -s ours old-master