2016-10-21 1 views
1

Предположим, что я в отрасли otherBranch. Это разветвленное мастерство некоторое время назад, но я постоянно обновлялся с мастером каждый раз, делая git merge master. Теперь я хочу «перезагрузить» этот otherBranch, но я не думаю, git reset master получить меня, где я хочу. В принципе, я хочу иметь все, что показывает git diff master (стоя в otherBranch) как неустановленные изменения. Как я могу это сделать?Как получить `git diff master` как неустановленные изменения в ветке, в которой я?

ответ

3

Я думаю, что git reset master будет делать то, что вы хотите. Это сбросит состояние ветки в репозитории до того, что находится в master, но не будет касаться ваших рабочих файлов: другими словами, ваши изменения теперь будут отображаться как неустановленные изменения.

Обратите также внимание, что часто лучше поддерживать обновленную функциональность, регулярно сворачивая ее на главном компьютере, а не на слияние мастера. Это позволяет избежать большой сбор слияния совершает (так что только коммиты ваши ветви являются изменения, которые имеют явно привержен):

  • ... редактировать некоторые вещи ...
  • git add ...
  • git commit -m "i made some changes"
  • ... проходит время ...
  • git remote update
  • git rebase origin/master
+0

Кроме того, помните, что вы всегда можете проверить это в первую очередь: просто создайте новую ветку ('git checkout -b testbranch'), попробуйте мастер' git reset master' и посмотрите, получилось ли вы, какое поведение вы искали для. – larsks

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