magit commit 화면에서`--verbose` 플래그를 기본적으로 어떻게 활성화합니까?


16

지금 cc은 magit 모드에서만 누르는 대신 c-vc을 활성화하기 위해 매번 눌러야 합니다 --verbose.

기본적으로 활성화 할 수 있습니까?

답변:


17

로 시작하여 v2.1.0Magit은 라이브러리 magit-popup.el를 사용하여 이러한 "팝업 버퍼"또는 "접두사 접미사 접미사 콤보"를 구현합니다. 그 이름에도 불구하고,이 라이브러리는 Magit와 관련이없는 패키지에서 사용할 수 있으므로 별도의 Elpa 패키지로 제공됩니다. 그것은 심지어 자체 매뉴얼을 가지고 있습니다!

기본 인수는 이제 팝업 버퍼에서 직접 설정할 수 있습니다. --verbose커밋 할 때 항상 사용하려면 다음 을 수행하십시오.

  1. c 커밋 팝업 표시
  2. - v 켜다 --verbose
  3. C-x C-s현재 설정된 인수를 기본값으로 저장하십시오 (사용자 정의 옵션에서 magit-commit-arguments)

기본적으로 모든 팝업 버퍼는 "공통 명령"이라는 섹션으로 끝납니다. 그렇지 않은 경우 C-t이를 사용 하여 표시하십시오. 해당 섹션을 항상보고 싶지 않으므로로 설정해야 magit-popup-show-common-commands합니다 nil.

물론 magit-commit-arguments사용자 정의 인터페이스 setq또는을 사용하여 값 및 기타 변수 의 값을 설정할 수도 있습니다 add-to-list. 그러나 기본값을 즉시 변경할 수 없기 때문에 반대하는 것이 좋습니다.


7

지금까지 내가 Magit는 "기본"옵션을 추적하지 않습니다 말할 수 있지만, 우리가 할 수있는 "를 눌러 -v"때마다 커밋 버퍼가 나옵니다 :

(advice-add #'magit-key-mode-popup-committing :after
            (lambda ()
              (magit-key-mode-toggle-option (quote committing) "--verbose")))

조언 할 기능을 찾으려면 magic-status버퍼를 열고을 누릅니다 C-h k c. 이것은 나를 이끌었다 magit-key-mode-popup-committing. 그런 다음 (아직 표시 커밋 버퍼) 나는 누르면 C-h k -v찾기 할 lambda때 폼 Magit 호출을 하면 눌러 -v커밋 창에.

업데이트 : 이 답변을 독립적으로 작성했지만 git-log“--all”옵션을 처음 선택할 수 있습니까?를 참조하십시오. , 거기에 대한 답변 및 해당 답변에 대한 의견.


1
그 흥미 롭군요! 이러한 기능을 어떻게 찾았는지 설명해 주셔서 감사합니다 :)
Dogbert

@Dogbert : 다른 사람들이 오래 전에 기본 git 옵션에 대해 생각했다는 것을 알고 싶다면 업데이트 된 답변의 링크를 참조하십시오. :-) (어제 어떻게보고 싶었는지 모르겠습니다.)
Constantine

4

과도를 사용하는 magit 버전 (2019 년 2 월 정도 이후)에서 플래그를 설정 한 다음 여전히 과도 버퍼에있는 동안 저장하십시오.

커밋의 경우 키 시퀀스는 다음과 같습니다.

C-x g # start magit
s # to stage changes
c # start commiting
-v # enable verbose
C-x C-s # Save the setting persistently across sessions
c # do the actual commit

그 후에 다음에 커밋이 호출 될 때 상세가 여전히 설정됩니다. 커밋을 완료 할 필요가 없으며로 저장 한 후 종료 할 수 있습니다 C-x C-s.

실제 기본값은의 transient/디렉토리에 저장 됩니다 .emacs.d/.

임시 매뉴얼 https://magit.vc/manual/transient.html#Saving-Values를 참조하십시오.


0

정확히 원하는 것은 아니지만 (커밋 버퍼에 차이가 있음) 상태 창 에서 단계별 차이를 확장하도록 magit을 설정할 수 있습니다 .

(setq magit-expand-staged-on-commit 'full)

Magit 워크 플로우는 항상 열린 상태 버퍼 인 것처럼 보이고 커밋 버퍼로 열린 분할은 항상 두 개의 버퍼로 표시됩니다. 위의 설정은 두 번째 (이전에 유용하지 않은) 버퍼가 diff를 표시하게합니다.

tdiff 헤더 만 확장하는 데 사용할 수도 있습니다 (행 번호 표시).

(setq magit-expand-staged-on-commit t)

diff를 쓰는 동안 상태 버퍼로 전환하고 diff TAB를 확장 (또는 접기)하는 데 사용할 수 있습니다.


또는 C-c C-d커밋 버퍼에서를 사용하여 diff로 다른 버퍼를 열 수 있습니다 magit-diff-staged. ( 이 문제를 참조하십시오 .)


0

magit버전 기준으로 2.1구성에서 사용할 수 있습니다.

;; When commiting enable verbose mode by default.
(setq magit-commit-arguments (quote ("--verbose")))

그렇게해서는 안됩니다. 내 대답을 참조하십시오.
tarsius

@tarsius 당신은 유효한 포인트가 있습니다. 내 유스 케이스는 여러 컴퓨터간에 내 도트 파일을 동기화하고 기본값을 설정하면 모든 컴퓨터에서 기본값이어야합니다. 변경하려면 구성에서 변경하면 모든 컴퓨터에서 동기화됩니다.
Maiku Mori

1
아, 그리고 구성을 문서화하기 어렵 기 때문에 사용자 정의 옵션을 사용하지 않습니다. 모든 것을 명시 적으로 설정하는 것을 선호합니다.
Maiku Mori

또한 설정 --no-verify은 git hooks를 사용하는 프로젝트가있을 때 유용합니다 (명심하게 사용하십시오).
Droogans
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.