В git как вытащить изменения из другой ветки в рабочее дерево? - PullRequest
0 голосов
/ 24 февраля 2012

Я сделал несколько интересных работ в ветке темы.Теперь я хочу очистить эти изменения перед фиксацией в основной ветке.Поэтому я хотел бы перенести все эти изменения в рабочее дерево: рабочее дерево содержит версию ветви темы, где git diff показывает все изменения из основной ветви.

Возможно ли это?Как мне это сделать?

РЕДАКТИРОВАТЬ: git merge --no-ff topic && git reset --mixed HEAD^, кажется, делает трюк.Если у кого-то есть более элегантный ответ, я весь в ушах!

Ответы [ 3 ]

2 голосов
/ 24 февраля 2012

Не знаю, правильно ли я вас понимаю

git checkout master
git merge --no-ff --no-commit topic
0 голосов
/ 24 февраля 2012

Я думаю, что вы должны сначала перебазировать свою ветку темы, используя git rebase master, затем переключиться на основную ветку, используя git checkout master, и в последний раз объединить с git merge --no-ff topic или перемотать вперед git merge --ff-only topic (где тема - это название вашей ветки.ветка темы).

0 голосов
/ 24 февраля 2012

Я думаю, что вы ищете git merge --no-commit --no-ff

со страницы руководства:

С помощью --no-commit выполнить слияние, но притвориться, что слияние не выполненоне автокоммит, чтобы дать пользователю возможность проверить и дополнительно настроить результат слияния перед фиксацией.

РЕДАКТИРОВАТЬ: нам также нужно указать --no-ff, поскольку коммит слияния не создаетсяслучай ускоренного слияния, поэтому git не понимает, что означает --no-commit.

...