ищу текстовый редактор, который автоматизирует git коммиты при закрытии файла - PullRequest
0 голосов
/ 05 июля 2018

Я также разместил этот вопрос здесь, на Reddit

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

  • проверяет, был ли файл отредактирован
  • git add <filename>
  • открывает всплывающее окно или вкладку для редактирования сообщения о коммите
  • git commit -m "the commit message entered in the popup"

Буду признателен, если вы поможете мне узнать, есть ли такой редактор, чтобы встроить эту функцию или через плагин / дополнение. Или, если это возможно, чтобы написать такой плагин.

P.S.1. Это не обязательно должен быть мерзавец, ртутные или другие версии системы управления тоже подойдут.

P.S.2. Я думаю, что это должно быть выполнимо в скрипте Vim и / или Emacs lisp, если бы я знал эти языки.

P.S.3. здесь и здесь обсуждались разные идеи. Очевидно, что git commit можно закрыть после закрытия, но я хочу написать сообщение вручную.

1 Ответ

0 голосов
/ 05 июля 2018

Это определенно должно быть выполнимо в любом разумно программируемом редакторе.

Вот, например, определенно очень глючный и неполный первый удар в ловушку для Emacs + magit:

(defun my/auto-commit-on-kill ()
  (when buffer-file-name
    (let* ((current (magit-file-relative-name))
           (choices (nconc (magit-modified-files) (magit-untracked-files)))
           (to-stage (car (member current choices))))
      (when to-stage
        (magit-stage-file to-stage)
        (magit-commit)))))

(add-hook 'kill-buffer-hook 'my/auto-commit-on-kill)

Но на самом деле, если бы вы пошли по маршруту Emacs / magit , я настоятельно призываю вас просто используйте magit "вручную". Это на самом деле не так уж сложно, и тем не менее научит вас больше о git, чем полагаться на еще более упрощенный интерфейс.

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