[英]Git push to LAN repo stalls or stops without error
意图
我打算在Windows本地网络中建立版本控制服务。
测试环境
我有一个/root
文件夹,其中有2个仓库/foo
和/bar
尝试次数
有人建议我使用git-daemon服务( http://git-scm.com/docs/git-daemon ),但实现(和工作方式)与广告宣传相比更加复杂。
我发现的第一个指南是http://railsware.com/blog/2013/09/19/taming-the-git-daemon-to-quickly-share-git-repository/ 。 我在'/ root'文件夹中使用了他们的git daemon选项,该选项将为其中包含的所有存储库提供服务:
$ git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose
我成功克隆了一个空的仓库,但是当我添加一些内容时,我得到了以下消息:
$ git clone git://root-ip-addr/bar
Cloning into 'bar'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
fatal: read error: Invalid argument
Receiving objects: 100% (3/3), done.
fatal: error in sideband demultiplexer
接下来,我找到了http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ ,他们甚至没有提到守护程序,而是去了本地文件夹-as -远程方式。 我仍然认为我需要一个守护程序,因此我尝试在守护程序上添加-enable:receive-pack
选项的同时裸露我的-enable:receive-pack
。
他们建议使用客户端计算机上的分支进行提交,所以我这样做了。 我还致力于master分支,看看会发生什么。 在这两种情况下,GIT似乎都停止了。
这是客户端计算机尝试推送到中央集线器的屏幕快照。 您会看到它停在了那一点。
这是运行守护程序的中央集线器的屏幕截图。
在那之后,我只能输入ctrl + c来完全停止git守护进程。
我实际使用它的唯一方法是从存储库内部调用守护程序,但这将需要为每个存储库执行该操作(我打算为数百个存储库建立此守护程序)
我知道我应该花几周的时间来全面了解Git,这是我过去六个月以来一直推迟的工作,因为我已经能够使用基本的克隆,添加和提交。
话虽如此,我认为在尝试解释git工作流隐喻时应该有更多直观的指导性说明。
感谢您的时间。
看来这与msysgit中的错误#101 (Google代码中的问题457)有关,并且在Git-1.9.4-preview20140611中引入了修复程序。
设置sendpack.sideband
config选项,然后再次推送即可。
git config --global sendpack.sideband false
git push origin ...
我用这个git daemon命令尝试了
git daemon --base-path=. --export-all --reuseaddr --informative-errors \
--verbose --enable=receive-pack
我已尽力寻找错误的原因/解决方案:
fatal: read error: Invalid argument
也许该链接会有所帮助: Git远程服务器Push失败 。 似乎有关。
祝好运! 希望对您有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.