Я использую magit уже несколько месяцев, и мне это очень нравится. Но я все еще делаю это в терминале - сбор вишни.
Какой простой способ сделать это?
Это довольно просто:
magit-status
b b
) ветку, в которую вы хотите вишню забрать.l r l
), чтобы найти коммиты, которые вы хотите выбрать. Здесь вы выбираете 2 ветви, которые хотите сравнить.A
чтобы применить изменения, а также подготовить их к сообщению коммита. Если вы нажмете, a
это не внесет изменения, а только применит их.Вам не нужно делать диапазон журнала для вишни. Всякий раз, когда вы видите журнал коммитов, вы можете нажать, A
чтобы выбрать его.
После обновления magit до 2.1 рабочий процесс изменился. Для обоих методов сначала нужно запустить magit-status
.
Метод A : Cherry Pick меняется по очереди из другой ветви
l
и затем, o
чтобы получить список других ветвей.A
а затем A
снова.Строка состояния покажет вам, какой коммит вы выбрали
например feature/ABC~4
Нажмите, Enter
чтобы применить изменения.
Метод B : Cherry Pick все изменения из другой ветви
A
чтобы выбрать режим выбора вишни.A
раз, чтобы применить и зафиксировать изменения. Нажмите, a
чтобы только применить изменения.Enter
.Я лично предпочитаю метод А, так как вы можете лучше обрабатывать конфликты слияния.
Я не использую вишневый сбор, но бью ?
в magit-status
шоу y: Cherry
. Это запускает команду magit-cherry
, которая позволяет вам выбрать голову и восходящий поток. Похоже, это то, что вы хотите.
Вы можете напечатать, C-h r d m Magit RET
чтобы прочитать руководство Magit. Вы можете использовать C-s cherry
и повторное нажатие C-s
для поиска по руководству. Похоже, информация в разделе 23:
Одним из преимуществ
git
является то, что он может сказать вам, какие коммиты были объединены вверх по течению, но не локально, и наоборот. Подкоманда Git для этогоcherry
(не путать сcherry-pick
). Magit поддерживает это, вызываяmagit-cherry
который привязанy
по умолчанию.Затем Magit сначала попросит вас указать версию для восходящего потока (которая по умолчанию соответствует отслеживаемой в данный момент удаленной ветке, если таковая имеется) и ревизию заголовка (которая по умолчанию равна текущей ветке) для использования в сравнении. Затем вы увидите новый буфер, в котором все коммиты перечислены с указателем направления, их ревизией и первой строкой сообщения о коммите. Маркер направления либо
+
указывает на коммит, который присутствует в восходящем, но не в заголовке, или-
указывает на коммит, присутствующий в заголовке, но не в восходящем.Из этого списка вы можете использовать обычные привязки клавиш для выбора отдельных коммитов
a
вишни ( для выбора вишни безA
фиксации и для того же самого плюс автоматический коммит). Буфер обновляется автоматически после каждого выбора вишни.
C-h i
вместоC-h r d
. Это приведет вас к верхнему уровню информации напрямую.C-h i
перенесет вас к последнему информационному файлу, который вы открыли, поэтому, если я нажмуC-h i m
, я мог бы потенциально просмотреть меню глав в SICP вместо меню всего. Нажатиеd
послеC-h i
илиC-h r
гарантирует, что вы будете в Info-директории, когда до этого нажалиm
.M-x
package-install
RET
sicp
RET
:)