Вытащить / объединить незафиксированные изменения - PullRequest
2 голосов
/ 11 февраля 2012

У меня есть два рабочих каталога git. Как это иногда бывает, я внес некоторые изменения в неправильный каталог и хотел бы перенести их в другой каталог. То есть я хотел бы объединить / вытащить незафиксированные изменения из одного места в другое.

В bzr я использовал бы слияние с опцией --uncommitted, но я не смог найти эквивалент git.

Ответы [ 2 ]

4 голосов
/ 11 февраля 2012

Выдвижение и извлечение по своей сути работает для коммитов, поэтому я не думаю, что есть какой-то способ сделать это, в частности.

Однако вы можете просто создать временную ветвь (git checkout -b tmp), зафиксировать этоперетащите его в другой репозиторий (git pull $OTHER tmp) и затем либо продолжите выполнение этого коммита, либо верните HEAD к последнему коммиту, сохранив изменения в рабочем дереве (git reset HEAD^), и продолжайте работать с ними таким образом.

Редактировать: Возможно, что еще более важно, однако: Вы уверены, что хотите иметь два отдельных рабочих каталога?Я вижу, что это полезно, например, в Mercurial или SVN (я не использовал Bazaar, поэтому не могу говорить за него), но в Git вы обычно вместо этого используете ветки и тайники.

3 голосов
/ 11 февраля 2012

Простое в использовании решение - это просто git diff:

$ cd wd_1
$ (cd ../wd_2 ; git diff -p) | patch -p1

Вы можете git reset в другом рабочем каталоге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...