![](/img/trans.png)
[英]why is vc-git and magit in emacs ignoring my git config settings?
[英]Magit not recognising git repositories
我目前正在嘗試在Win7 64位上將Magit與Emacs 23.1結合使用,但是Magit無法識別我的git存儲庫。 請記住,我是一名完整的Emacs新手。
我運行magit-status命令,它要求一個包含存儲庫的目錄,我顯然輸入了該目錄,然后每次我嘗試時都說:“ e:/ path / to / directory中沒有Git存儲庫。當肯定有一個存儲庫時,創建一個?(y或n)。
還有其他人遇到過嗎? 我讀到它可能是找不到實際的git.exe,並且我嘗試弄亂我的Path變量,但是我沒有做任何讓Magit識別我的存儲庫的事情。 有任何想法嗎?
magit運行以下命令以找到.git
目錄:
git rev-parse --git-dir
我首先嘗試如果Emacs真的看到您的git
二進制文件。 為此,請在emacs中打開git存儲庫中的任何文件。 接下來執行Mx: shell-command
並在提示符下輸入上述git命令: git rev-parse --git-dir
。
作為輸出,您應該得到.git
。 如果您無法將'git' is not recognized as an internal or external command, ...
,則需要確保emacs / magit可以找到git。 您可以通過自定義magit-git-executable
( Mx: customize-variable
)並將其指向絕對路徑來進行此操作,或者通過確保git
目錄位於Windows PATH中來進行安裝(如果使用msysgit ,則在安裝過程中會被詢問)。
希望這可以幫助!
干杯,丹尼爾
發現了問題所在,是magit-escape-for-shell函數轉義了Windows無法處理的可執行文件。 在檢查完我以前安裝的代碼后,很明顯他們已經更改了代碼,而沒有更改版本BAD! 這是一個應該修復該錯誤的補丁:
--- magit.el.orig 2010-02-19 16:48:43.671875000 -0500
+++ magit.el 2010-02-19 16:49:30.078125000 -0500
@@ -320,7 +320,9 @@
prop val))
(defun magit-escape-for-shell (str)
- (concat "'" (replace-regexp-in-string "'" "'\\''" str) "'"))
+ (if (not (equal system-type 'windows-nt))
+ (concat "'" (replace-regexp-in-string "'" "'\\''" str) "'")
+ str))
(defun magit-format-commit (commit format)
(magit-git-string "log --max-count=1 --pretty=format:%s %s" format commit))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.