我需要使用幾個不同的git存儲庫。如何使用magit在它們之間切換? Magit允許我在啓動它時選擇一個目錄..但是如果需要的話,我不清楚如何切換到另一個回購站。我看過magit cheatsheet和docs,但沒有找到答案。謝謝。如何使用magit emacs更改回購?
回答
你可以用前綴-arg(C-u)調用magit-status
,它會提示你輸入git倉庫。所以,如果你的鍵綁定是magit-status
C-X 克,你可以做C-ùC-X 克,它會提示混帳回購協議。
您還可以設置變量magit-repo-dirs
到一個目錄(不要C-H˚Fmagit-repo-dirs
RET知道更多),它會提示你所有的Git倉庫中magit-repo-dirs
。
如果您使用的拋射,你可以使用一個事實,即它會記住你的項目目錄,並用它填充magit-repo-dirs
,我有這個在我的init文件來實現這一
(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)))
以上projectile
後執行的代碼加載。它通過執行(projectile-relevant-known-projects)
獲得projectile
已知的項目列表,通過它們迭代並將具有.git/
文件夾的項目添加到magit-repo-dirs
,它也將magit-repo-dirs-depth
設置爲1,因此magit只在頂級目錄中查找git repos。
John Wiegley有一個名爲「Springboard」的包可能對你有用。
https://github.com/jwiegley/springboard
這取決於helm
和/或ido
,它允許你可能是在不同的目錄中的文件爲準文件的基礎上執行任意命令目前在活動的緩衝區。這是一個有點難以說明它在一個非詳細方式(自述解釋得很好),只是用你的問題爲例:
假設你正在處理的文件
1.el
是的一部分一個git回購 ,但你想運行magit-status
爲一個單獨的文件2.el
其中 是在另一個回購一起。使用
M-x springboard
爲helm
或ido-switch-buffer
爲ido
給你的候選文件列表。通過關注
2.el
(但不選擇它),那麼你可以調用
任意命令,如果你是該文件的 目錄中工作。所以,如果你專注於
2.el
然後調用magit-status
從 候選名單,你會得到正常的magit-status
窗口 與該文件2.el
相關的回購,然後,一旦你 已經完成與合作您可以退出magit,1.el
將成爲活動緩衝區,並且所有內容都將與調用springboard
之前一樣。
這是非常有用的。
謝謝@jhrr。我會試一試。 – cyrillk
我發現,如果你使用的彈丸,最簡單的就是剛剛設置如下:
(setq projectile-switch-project-action 'projectile-vc)
現在你可以使用C-p
p
s
(projectile-switch-project
),然後它會立即調用projectile-vc
,而如果您只需在項目根目錄中安裝magit
即可調用magit-status
。簡單!
- 1. 如何使用回購廢棄更改
- 2. 如何更有效地使用Magit?
- 3. emacs magit diff突出顯示
- 4. emacs守護進程和magit
- 5. 更改Git回購
- 6. GitHub回購更改爲「其他」回購
- 7. 如何在回購中存儲更改
- 8. 如何閱讀從SVN回購更改
- 9. 如何使用回購恢復已更改的文件?
- 10. Android回購更改日誌
- 11. 如何在windows上安裝magit
- 12. 如何從magit使用git mv?
- 13. Emacs magit diff-buffer滾動 - 如何在底部停止
- 14. Emacs/Magit - 如何在Github上創建和刪除存儲庫
- 15. 如何更新Github回購
- 16. Emacs更改爲init.el
- 17. 如何使用新的提交對象合併分支與Magit?
- 18. Spacemacs Magit模式magit-refresh
- 19. 將git-svn更改爲SVN回購
- 20. 如何使用Moq更改回撥值?
- 21. 複製Git裸回購更改日誌?
- 22. 更改Git回購文件夾
- 23. 如何在使用ispell時更改Emacs中的語言?
- 24. 如何更改EMACS 23使用的默認python版本?
- 25. Magit diff不能正確顯示字符
- 26. 在TortoiseGit中更改回購網址
- 27. 如何更改Emacs中的元鍵?
- 28. 如何更改Emacs命令行顏色
- 29. 如何更改Python docstrings的Emacs字體?
- 30. 如何更改Emacs中的minibuffer位置?
只需使用dired或書籤切換到其他文件。然後從那裏打電話給magit。 –