2011-05-04 101 views
14

我使用git作爲我的版本控制系統。爲此,我安裝了msysGit來在MSW上檢出我的存儲庫。現在我想用MinGW編譯我的程序,並發現這個「問題」: 當我通過mingw-get安裝MinGW和MSYS時,我可以編譯我的程序,沒問題。但我無法訪問git。當我使用Git Bash時,我可以使用git,但無法編譯。從MinGW使用msysGit,反之亦然

是否有可能到:

  • 安裝MinGW的 「進」 的Git Bash的(因爲它已經包含MSYS,不是嗎?)OR
  • 到兩個安裝之間設置 「鏈接」,使這行得通。

我會優先考慮我可以更輕鬆地保持兩個軟件包的最新狀態。

在此先感謝:)

+0

相關:http://stackoverflow.com/questions/5648330/combining-mingw-and-git – leonbloy 2012-09-16 18:54:22

回答

7

您是如何安裝Msysgit的?你是否在屏幕上選擇了第三個選項來請求PATH設置?

enter image description here

(從上面的截圖:http://ekkescorner.files.wordpress.com/2010/02/git-windows-msysgit-install-3.png

你要選擇第三個選項,甚至第二個可能是不夠的。

下面是截圖從我的MingW

enter image description here

不管怎麼說,這是所有關於msysgit正確的路徑設置爲git.exe,還是我失去了一些東西?

+1

安裝時我使用了第二個選項。正當我輸入_where git_時,我得到_git.cmd_文件。所以我把這個bin directoy manuelly加到了PATH中,它可以工作。感謝:) – tbolender 2011-05-05 17:56:57

10

如果您選擇了第二個選項,您可以在MinGW中爲git添加符號鏈接。

因此,如果您msysgit安裝在C:\ Program Files文件(x86)的\ Git的 打開MinGW的外殼和類型:

cd /usr/bin 
ln -s /c/Program\ Files\ \(x86\)/Git/bin/git git 

這將創建的MinGW的在/ usr/bin中名爲git的符號鏈接指向msysgit安裝。 然後你可以在MinGW shell的任何地方使用git命令。

+0

很高興看到無數其他黑客的理智回報,不僅讓讀者感到驚訝,而且作者驚歎:哇,它實際上工作。我一直在想,符號鏈接任何人?但是,真正讓我感到困惑的是,爲什麼要開始使用兩個msys環境? – 2013-03-22 22:47:05

+0

msysGit是msys的一個子集,但也包括可能需要像ssh,curl和vi這樣的git所需的其他實用程序。它甚至變得更糟糕,如果你還有RubyDevKit安裝,因爲你得到另一個msys。 – oenpelli 2014-08-07 00:56:05

+0

當我從我的MinGW/MSYS提示(msys-base 2013073200 - 截至2015年3月8日的當前版本)中嘗試此操作時,結果符號鏈接無法正確調用'git.exe':'發起錯誤git:文件名或擴展名太長。然而,工作是通過'〜/ .profile'附加到'$ PATH';例如'PATH =「$ PATH:/ c/program files(x86)/ git/cmd」' – mklement0 2015-03-08 18:23:38

1

您需要修復PATH,以便運行與msys或msysgit環境相匹配的外部命令。根據您安裝這兩個shell環境的方式,其中一個環境將首先位於PATH中,因此無論您運行的是哪個bash,都將從PATH中第一個bin目錄運行外部命令。

你可以通過從不同的bash shell運行ls.exe來測試它,我發現一個工作,一個沒有,但是當我修復了他們都工作的PATH。

我試圖找出一個適用於這兩者的聰明腳本,但它們都很困難,因爲它們都將自己的bin目錄映射到/ bin。當我厭倦了試圖解決這個問題時,我創建了msys.sh和msysgit。與線SH:分別

export PATH=/c/MinGW/msys/1.0/bin:/c/MinGW/bin:${PATH} 

export PATH="/c/Program Files (x86)/Git/bin:${PATH}" 

。這些文件需要來源於您正在運行的環境。例如:

source ./msys.sh 

實際上,你只需要一個腳本作爲一個環境中工作,但我也裝RubyDevKit它有同樣的問題,所以它似乎更簡單的創建爲每個環境的腳本。

0

如果您希望每次在Windows上啓動git bash都要更改路徑。 你需要做以下步驟:

  1. 在Windows中運行,鍵入 「混帳慶典」
  2. Vim的〜/ .profile文件
  3. 加入「出口PATH =/C/MinGW的/ MSYS/1.0/bin中:/c/MinGW/bin:$ {PATH}「作爲文件的最後一行(MinGW應該位於C:\ MinGW中)
  4. :wq,存在vim。
  5. 退出git的慶典,並重新啓動再