답변:
magit 2.11.0부터는 재설정 디스패처에서 직접 가능 X f
합니다 (버전 및 파일을 지정할 수 있음).
이것은 magit-file-checkout
버전 사양과 파일 이름 (@Emoses의 기능 요청 및 @Kyle Meyer의 구현 덕분)을 허용하는 magit 내에서 프로그래밍 방식으로 수행 할 수 있습니다 . 이전에는 함수의 이름 magit-checkout-file
이 v2.3.0-v2.9.0부터 지정되었습니다 .
magit-checkout-file
더 이상 사용되지 않습니다. magit-file-checkout
대신 사용하십시오 .
나는 이것을하는 기본 방법을 모른다.
분기 A에 있다고 가정하면 분기 B ( d r ..B
) 를 다른 지점으로 이동 한 다음 원하는 파일로 지점을 이동하는 것이 좋습니다.를 누르면 a
해당 변경 사항이 작업 트리에 적용됩니다 (색인 대신).
구성에서 수정본에서 파일을 재설정하거나 체크 아웃하라는 명령이 있지만 현재 상태에서는 Magit Revision에서 훌륭한 수정본 기본값을 제공하지 않기 때문에 요청한 내용과 정확히 일치하지 않습니다. 방법.
(defun km/magit-reset-file (rev file &optional checkout)
"Reset FILE from revision REV.
If prefix argument CHECKOUT is non-nil, checkout FILE from REV
instead.
\(git reset REV -- FILE)
\(git checkout REV -- FILE)"
(interactive
(let ((rev (magit-read-branch-or-commit "Revision")))
(list rev (magit-read-file-from-rev rev "File") current-prefix-arg)))
(magit-with-toplevel
(magit-run-git (if checkout "checkout" "reset")
rev "--" file)))