2016-02-15 2 views
1

Я сделал некоторые коммиты в своей местной ветке master. Теперь я хочу выбросить их и получить состояние, равное origin/master.Как получить удаленную ветвь, переписывая локальные коммиты?

Мне не понравилось бы git reset --hard, потому что эти коммиты являются результатом быстрого слияния другой ветви, поэтому мои и удаленные коммиты смешаны.

В настоящее время единственное решение, которое я не могу думать о

git fetch 
git checkout origin/master 
git branch -D master 
git checkout -b master 
git remote origin/master 

Там, безусловно, является гораздо более быстрый способ?

+0

использовать git stash и git stash apply – Ahmer

+0

git stash скроет вас изменениями, а затем вы сможете вытащить код внутри своих изменений, а затем снова запустить commad git stash применить, он перезапишет код с вашими изменениями – Ahmer

+0

@ Амер, это а не локальные изменения, а скорее совершает то, что я хотел бы отбросить. – Vorac

ответ

5

Я бы не хотел git reset --hard, потому что эти коммиты являются результатом быстрого слияния другой ветви, поэтому мои и удаленные коммиты смешаны.

Я не понимаю эту аргументацию.

git reset --hard origin/master сбрасывает текущую выданную ветку, поэтому он указывает точно такую ​​же фиксацию, как origin/master; и затем он перезапишет все файлы в вашем рабочем каталоге, чтобы отразить это изменение.

Итак, если вы в настоящее время находитесь на своей местной ветке master, то это команда, которая сбросит вашу локальную ветвь и рабочий каталог до состояния ветви master пульта дистанционного управления, эффективно отбросив все, что вы сделали локально на этой ветке.

0
git reset --hard origin/master 

делает точно так же, как

git checkout origin/master 
git branch -D master 
git checkout -b master 

просто держать вашу команду git fetch, чтобы убедиться, что вы используете самую последнюю информацию о origin/master.

Последняя команда, которую вы предлагаете (git remote origin/master), является несуществующей командой; и я не вижу, что вы хотите сделать. В любом случае это не обязательно.

Смежные вопросы