Разделение ломтя с помощью магита

У меня есть 2 редактирования очень близко (и, следовательно, часть одного и того же фрагмента), которые я хотел бы зафиксировать отдельно. Можно ли разделить кусок из магита?


person deepakg    schedule 01.03.2012    source источник


Ответы (3)


Вы можете правильно установить метку с помощью Ctrl + Space (C-SPC), и magit зафиксирует только выбранную часть.

person Dominik Honnef    schedule 01.03.2012
comment
Я всегда устанавливаю метку внизу области и перемещаю точку вверх, чтобы включить или отключить области, так как у меня были проблемы (которые я не могу вспомнить в деталях), делая это наоборот в прошлое. YMMV. - person phils; 02.03.2012
comment
Re: мой предыдущий комментарий, я недавно прочитал причину этого, заключающуюся в том, что при отмене / постановке региона точка должна находиться внутри региона, в котором вы действуете. Конечно, вы можете использовать C-x C-x для обмена и отметить, если вы сделали это наоборот. - person phils; 08.04.2012
comment
Он ведет себя по-другому при использовании режима переходной маркировки? Потому что я всегда выбираю сверху вниз, и у меня никогда не было проблем. - person Dominik Honnef; 08.04.2012
comment
Мне было недостаточно поставить отметку (C-SPC). Мне пришлось нажать C-SPC второй раз, чтобы активировать transient-mark-mode. - person Vebjorn Ljosa; 06.11.2014
comment
для ясности: magit будет фиксировать только то, что выбрано. Неважно, как вы выбрали, например, я использую Shift + <arrows> для выбора части лома и нажимаю s для постановки выбранной части. - person jfs; 16.02.2015

Вы также можете использовать - и +, чтобы уменьшить или увеличить размер фрагментов в diff (и сбросить 0), но ответ Доминика самый важный, о котором нужно знать.

person phils    schedule 01.03.2012
comment
Это не работает для меня, это было удалено в новой версии magit или это что-то особенное для моей установки? - person Mike H-R; 27.10.2015
comment
Майк Х-Р: если вы находитесь в буфере magit-status, это должно работать, AFAIK. - person phils; 27.10.2015
comment
Да, я ошибся, вам нужно нажать + или - в строке, начинающейся с @@ (информационная строка блока), а не внутри блока, как я пытался. - person Mike H-R; 27.10.2015

Magit повторно использует diff-mode, но не раскрывает многие из diff-mode команд в своем magit-revision-mode, как это делает пакет VC.

Например, вы можете вызвать diff-split-hunk, который обычно равен C-c C-s в diff-mode.

person gavenkoa    schedule 19.10.2018