如何在Windows上启动git守护进程

24

我该如何在Windows上启动git守护进程,以使其开始处理请求?似乎msysgit应该将其安装为Windows服务或类似的东西,但我却没有看到这样的服务。


1
请查看我的回答:https://dev59.com/63VC5IYBdhLWcg3woCnN - Derek Greer
4个回答

31

Git for Windows 1.7.4 版本增加了对 Windows 上 git daemon 的支持,而此前版本并未包含该功能。要导出你的仓库,你需要在 .git 目录中创建一个名为 git-daemon-export-ok 的文件,或者在命令行中添加 --export-all 参数。

在 Git 仓库中执行:git daemon --export-all,然后你就可以从远程机器连接到它了,例如:git ls-remote git://yourmachine/path/to/repo


如果您正在一个 Git 仓库中并启动守护进程,就像您所写的那样。/path/to/repo 应该是什么? - corgrath
11
获取工作目录的完整本地路径。如果您的代码位于c:\src\CoolProject,并且您在该文件夹中启动git守护进程,那么在运行git ls-remote git://yourmachine/src/CoolProject时应列出可用的引用。 - patthoyts
4
如果你的路径仍然无法工作,尝试明确设置你的基本路径,例如:git daemon --base-path=/c/Users/Tyler/workplace。然后,假设你的仓库在 C:\Users\Tyler\workplace\src\CoolProject 中,你可以尝试使用命令 git ls-remote git://yourmachine/src/CoolProject - Tyler
抱歉,请问git守护进程在Windows系统中需要多少RAM空间?我正在为我的工作创建一个商业案例,但遇到了困境...谢谢! - matao
当我在本地运行它时,该进程占用约2MB RAM。它将内存映射包文件,因此拥有更多的内存会更好,因为它可以减少从硬盘读取的次数,但这取决于存储库的大小。 - patthoyts

7

谢谢。在Windows上提供git确实很麻烦,但这个工具使它变得快速简便。 - dvdgsng

1
在Git 2.34(2021年第四季度),作为新的 内置fsmonitor 的一部分,启动Windows上的Git守护进程将更加容易:
查看 提交 05881a6, 提交 fdb1322, 提交 8750249, 提交 9bd51d4, 提交 a3e2033, 提交 64bc752(2021年9月20日)由Jeff Hostetler (Jeff-Hostetler)提交。
查看 提交 59c9232(2021年9月20日)由Carlo Marcelo Arenas Belón (carenas)提交。
(已合并至提交 af303ee,作者为Junio C Hamano -- gitster --,日期为2021年10月13日)

simple-ipc/ipc-win32:添加 Windows ACL 到命名管道

签署者:Jeff Hostetler

在命名管道上设置 ACL,以允许众所周知的 EVERYONE 组读写 IPC 服务器的命名管道。

如果守护进程是以提升权限启动的,则允许非提升客户端与守护进程通信


0

我曾经遇到过这个问题。所以我花了我的周六(因为我没有生活)来解决这个问题 :)

我上传了一个自包含的.NET Core工作程序,可以安装为Windows服务here

目前,它非常基本,并且将配置Daemon为只读。如果您想要能够推回git远程托管的任何位置,请在worker.cs的第9行中添加标记--enable-receive-pack并重新编译。

要在主机上广播特定位置,请在同一行上添加--base-path=C:\Path\To\Repo。

我可能会在未来进行一些改进,以获得额外的可配置性 :)

**编辑:需要在主机计算机上安装git。


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