몇 가지 다른 git 저장소로 작업해야합니다. 그들이 magit을 사용하여 전환하는 방법? Magit을 사용하면 디렉토리를 선택할 때 디렉토리를 선택할 수 있습니다. 그러나 필요한 경우 다른 저장소로 전환하는 방법이 명확하지 않습니다. 나는 magit cheatsheet와 docs를 보았지만 답을 찾지 못했습니다. 감사.Magit emacs를 사용하여 repo를 변경하는 방법은 무엇입니까?
답변
magit-status
을 prefix-arg (C-u)와 함께 호출하면 git 저장소를 묻는 메시지가 표시됩니다. 당신이 magit-status
에 대한 키 바인딩한다면 C-Xg, 당신은 C-UC-Xg을 수행 할 수 있습니다, 그것은 자식의 repo에 대한 메시지가 표시됩니다.
magit-repo-dirs
를 설정할 수 있습니다 (
RET
magit-repo-dirs
f를 더 알고
C-H를 않는 것)는 magit-repo-dirs
의 모든 자식 저장소에 대한 메시지를 표시합니다. 당신이 발사체를 사용하는 경우는 프로젝트 디렉토리를 기억한다는 사실을 사용하고 magit-repo-dirs
을 채울 수 있습니다, 나는 위의 projectile
후에 실행되는 코드는이
(eval-after-load "projectile"
'(progn (setq magit-repo-dirs (mapcar (lambda (dir)
(substring dir 0 -1))
(remove-if-not (lambda (project)
(file-directory-p (concat project "/.git/")))
(projectile-relevant-known-projects))))
(setq magit-repo-dirs-depth 1)))
을 달성하기 위해 내 init 파일이 있습니다 짐을 실은. (projectile-relevant-known-projects)
을 통해 projectile
에 알려진 프로젝트 목록을 가져 와서 반복하고 .git/
폴더가있는 프로젝트를 magit-repo-dirs
에 추가하면 magit-repo-dirs-depth
도 1로 설정되므로 magit은 최상위 디렉토리에서만 git repos를 찾습니다.
"Springboard"라는 John Wiegley의 멋진 패키지가 유용 할 것입니다.
https://github.com/jwiegley/springboard
이 helm
및/또는 ido
에 따라, 그리고 활성 현재 버퍼에있는 당신이 어느 파일을 다른 디렉토리에있을 수 있습니다 파일을 기준으로 임의의 명령을 실행할 수 있습니다.
- 당신의 일부 파일
1.el
에서 작업하는 가정 : 그것은 (README 파일이 잘 설명) 비 자세한 방법을 설명하는 것이 아니라 단지 예로서 귀하의 질문을 사용하기 조금 어렵다magit-status
을 별도의 파일2.el
으로 실행하려면 이 다른 레포에 모두 포함되어 있어야합니다. ido
에 대한helm
또는ido-switch-buffer
에 대한M-x springboard
를 사용하면 당신에게 후보 파일의 목록을 제공합니다. 해당 파일의 디렉토리 내에서 작업하는 것처럼 다음
임의의 명령을 호출 할 수 있습니다 (그것을 선택이 아닌)2.el
을에 국한하여- .당신이
그래서, 당신은 파일
2.el
과 관련된 REPO의 정상magit-status
창 을 얻을 것하고 이 완료되면 그 작업 당신은 방금 magit을 종료 할 수 있고1.el
은 활성 버퍼가 될 것이고 모든 것은springboard
이 호출되기 전과 같을 것입니다.
2.el
에 초점을 맞춘 후 에서 후보 목록을
magit-status
를 호출한다면
매우 유용합니다.
감사합니다. @jhrr. 나는 그것을 시도 할 것이다. – cyrillk
난 당신이 발사체를 사용하는 경우, 가장 쉬운 방법은 바로 다음과 같은 설정하는 것으로 나타났습니다 :
이제(setq projectile-switch-project-action 'projectile-vc)
당신이 C-p
p
s
(projectile-switch-project
)를 사용할 수 있으며 즉시, projectile-vc
를 호출하는 경우 magit
을 설치하면 프로젝트 루트에 magit-status
이 호출됩니다. 단순한!
dired 또는 북마크를 사용하여 다른 파일로 전환하십시오. 그런 다음 거기에서 magit에게 전화하십시오. –