Если вы действительно хотите сбросить коммиты, которые вы сделали локально, то есть никогда больше не иметь их в истории, вы не спрашиваете, как вытащить — вытащить означает слияние, и вам не нужно сливаться. Все, что вам нужно сделать, это:
# fetch from the default remote, origin
git fetch
# reset your current branch (master) to origin's 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's master
git reset --hard origin/master
# merge your old master, keeping "our" (origin/master's) content
git merge -s ours old-master
person
Cascabel
schedule
24.01.2011