簡體   English   中英

需要幫助在Windows上設置git服務器

[英]Need help setting up a git server on windows

我正在嘗試在Windows上設置git服務器,但在將其全部正常工作時遇到了一些問題。

我在本地創建了一個普通的存儲庫,而在遠程創建了一個裸存儲庫。 在本地存儲庫上,我添加了一個文本文件並將其提交,但是當我嘗試將其推入遠程存儲庫時,總是收到以下消息:

fatal: protocol error: bad line length character: fata

我搜索了SO和其他資源,其中大多數都表明這是關於命令回顯的問題。 我使用freeSSHd作為SSH解決方案(遠程存儲庫托管在Windows服務器上),並且嘗試將git bash和Windows CMD都用作命令外殼。

我使用/Q啟動CMD以禁用回顯,並使用/K將目錄更改為存儲庫所在的目錄,因此我認為這不是問題。

使用遠程桌面,我可以將存儲庫克隆到它旁邊的文件夾中,而在本地使用git bash可以訪問SSH shell,也可以用相同的方式克隆存儲庫。 但是,使用git clone ssh://<address>:/myRepo.git我總是收到上述消息(SSH的工作文件夾與存儲庫所在的文件夾相同)。 有人知道發生了什么嗎? 如何查看觸發錯誤的命令,以及如何查看完整的錯誤消息?

使用freeSSHd作為Windows上git服務器的ssh解決方案時,我也遇到了相同的錯誤。 我一整天都找不到解決方案,於是放棄了。 :(

后來,我發現來自Bitvise另一個功能強大的SSH服務器WinSSHD運作良好。 它具有供個人使用的免費版本。 我建議您切換到它。 盡管我也想知道我們倆遇到的錯誤是否都有解決方法。

使用WinSSHD設置ssh服務器非常簡單,您可以添加具有私鑰/公鑰訪問權限的虛擬帳戶。

關鍵部分是為git服務器設置ssh訪問。 請在此處按照博客的步驟進行操作。

它應該適用於Windows git客戶端。 對於Mac,您可能會遇到以下錯誤。

grp.sh: No such file or directory
fatal: Could not read from remote repository.

要修復它,您需要在git grp.sh中的git bin目錄(系統環境變量PATH配置的GIT_PATH/binGIT_PATH/libexec/git-core )中創建兩個文件gup.shgrp.sh

gup.sh的內容:

git-upload-pack.exe $*

grp.sh的內容:

git-receive-pack.exe $*

暫無
暫無

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

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