Git применить тайник, используя конфликтную запись - PullRequest
1 голос
/ 21 февраля 2012

Это может звучать странно, но иногда во время некоторых быстрых и грязных хаков я хотел бы изменить файлы, чтобы они отражали как предыдущую версию, так и сохраненные изменения после git stash apply:

++<<<<<<< Updated upstream
 +stuff
++=======
+ more stuff
++>>>>>>> Stashed changes

Этонотация используется Git для разрешения конфликтов вручную;Я не обязательно ищу это, то, что я хочу, это просто способ иметь обе версии в моем редакторе без использования каких-либо внешних инструментов слияния.

Может быть, это можно лучше получить, используя функцию редактора, а неСам Git, в этом случае я использую Emacs.

1 Ответ

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

В git стек stash на самом деле является ветвью. Это означает, что все, что вы можете сделать с обычной веткой, вы также можете сделать со своим тайником: это включает в себя слияние с ним!

Так что, если вам нужно какое-то конкретное поведение, специфичное для слияния, просто сделайте его слияния с stash@{0} вместо git stash apply.

Если вы просто хотите увидеть различия, вы можете git show сохранить содержимое таким же образом (или git diff, или любую другую команду git).

Пример: meld <(git show stash@{0}:path/to/file) <(git show HEAD:path/to/file)

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