Windows防火墙、Tinywall和GIT

6

我最近刚从XP升级到Win7操作系统。
我使用Windows防火墙并添加了Tinywall(可以提供更多的控制功能)

但是当我使用Git Bash时,防火墙会阻止所有命令。 如果我禁用防火墙,一切都正常。

我无法确定要添加到TinyWall白名单中的适当例外情况。

我已经添加了Shell窗口以及git.exe作为应用程序例外,但还是不行。 我添加的这些例外程序路径:

C:\Program Files (x86)\Git\git-cheetah\..\bin\sh.exe
C:\Program Files (x86)\Git\bin\git.exe

错误示例:

$ git pull
ssh: connect to host xxx.xxx.xxx port 22: Bad file number
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
3个回答

13

为了让TinyWall与使用SSH的git正常工作,您需要将以下内容加入白名单:

sh.exe
git.exe
ssh.exe

要使用HTTPS与git协作,你只需将以下内容添加到白名单中:

C:\Program Files (x86)\Git\libexec\git-core\git-remote-https.exe
或者
C:\Program Files\Git\mingw64\libexec\git-core\git-remote-https.exe

如果您在使用Atlassian的SourceTree时看到了OP中描述的错误,请将C:\Program Files (x86)\Atlassian\SourceTree\tools\putty\plink.exe列入白名单,这解决了我的问题。 - Mahn

1
在Windows 10上使用TinyWall时,我需要添加以下例外:

C:\Program Files\Git\mingw64\libexec\git-core\git-credential-manager.exe

除此之外还需要添加:

C:\Program Files\Git\bin\git.exe

C:\Program Files\Git\bin\sh.exe

C:\Program Files\Git\mingw64\libexec\git-core\git-remote-https.exe

这基本上与此答案相同。请不要重新发布答案。 - JJJ

0

我不确定服务器是否支持https URL(对git还不是很熟悉)。我希望能够以某种方式解除那些端口的阻塞,而不是采用一种变通方法。 - Karen
@Karen,那个服务器是一个已知的Git托管存储库服务吗?(像GitHub或BitBucket一样)。还是一个私人服务器? - VonC
VonC - 私人托管 - Karen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接