簡體   English   中英

Git Bash 使用 cygwin

[英]Git Bash operate with cygwin

我安裝了 Git-Bash,但無法訪問我可以通過 Cygwin 訪問的所有工具(vim、vimdiff)。 可以在 Git 配置文件之一中設置嗎?

Git bash 和 msysgit 包中的相關工具是純 Windows 可執行文件。

這就是為什么你不能在 Git bash 中運行 Cygwin 工具的原因,因為它們不是完全的 Windows 程序(它們需要cygwin.dll ,請參閱下面的@fvu 評論)。

如果要將 Git 與 Cygwin 工具一起使用,則必須為 Cygwin 安裝 git 包。

您可能只需要將 cygwin bin 目錄添加到 git bash 中的 $PATH 變量中。

盡管其他人似乎都認為他們知道,但 Git Bash 實際上幾乎是重新包裝的 Cygwin。 可視化: https : //github.com/msysgit/msys/tree/master/winsup/cygwin

如果您將 Cygwin bin目錄添加到 git bash 中的$PATH變量,請確保使用 Git 2.27(2020 年第二季度)。

通過run_command() API 運行的實用程序在 Cygwin 上沒有正確生成,當它們的路徑作為帶反斜杠的完整路徑給出時。

請參閱Andras Kucsma ( r0mai ) 的commit 05ac858 (2020 年 3 月 27 日
(由Junio C gitster合並-- gitster -- in commit d01b722 ,2020 年 4 月 22 日)

run-command :在 Cygwin 上正確觸發 PATH 查找

簽字人:安德拉斯·庫奇馬

在 Cygwin 上,類似 POSIX 系統的代碼路徑在run-command.c ::start_command() 中。 調用prepare_cmd()輔助函數來決定是否需要在 PATH 中查找命令。 當且僅當其中沒有任何斜杠“/”時,才執行 PATH 查找的邏輯。 如果此測試通過,我們最終會嘗試通過在 PATH 的每個以冒號分隔的組件之后附加字符串來運行命令。

Cygwin 環境支持 Windows 和 POSIX 樣式路徑,因此正斜杠“/”和反斜杠“\\”都可以用作用戶提供的任何外部程序的目錄分隔符。

在 PATH 中錯誤搜索而不是按原樣執行的路徑字符串示例:

"C:\Program Files\some-program.exe" - "a\b\c.exe"

為了處理這些, prepare_cmd()PATH查找檢測邏輯被教導了解這個 Cygwin 怪癖,通過引入has_dir_sep( path) 輔助函數來抽象出真正的 POSIX 和 Cygwin 系統之間的差異。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM