- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
意图
我打算在 windows 本地网络中建立一个版本控制服务。
测试环境
我有一个 /root
文件夹,其中有 2 个 repos /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 守护程序选项,该文件夹将为其中包含的所有存储库提供服务:
$ git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose
我成功地克隆了一个空的 repo,但是当我添加一些内容时,我收到了消息:
$ 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/他们甚至没有提到守护进程,而是选择了本地文件夹作为远程方法。我仍然认为我需要一个守护进程,所以我尝试在守护进程上添加 -enable:receive-pack
选项时让我的 repos 裸露。
他们建议在客户端机器上使用分支来提交,所以我做到了。我还致力于 master 分支看看会发生什么。在这两种情况下,GIT 似乎都停止了。
这是客户端计算机尝试推送到中央集线器的屏幕截图。你可以看到它在那个时候停止了。
这是运行守护程序的中央集线器的屏幕截图。
在那之后我只能输入 ctrl+c 来完全停止 git 守护进程。
我真正让它工作的唯一方法是从存储库内部调用守护进程,但这将需要为每个存储库都这样做(我打算为数百个存储库建立它)
我知道我应该花几周的时间来彻底理解 Git,这是我在过去 6 个月里推迟的事情,因为我已经能够完成基本的克隆、添加和提交。
话虽如此,我认为在尝试解释 git 工作流比喻时,应该有更具视觉建设性的指南。
感谢您的宝贵时间。
最佳答案
好像跟bug #101有关(谷歌代码问题 457)在 msysgit 中引入了修复 Git-1.9.4-preview20140611 .
设置 sendpack.sideband
配置选项,然后再次推送即可。
git config --global sendpack.sideband false
git push origin ...
我用这个 git 守护进程命令试过了
git daemon --base-path=. --export-all --reuseaddr --informative-errors \
--verbose --enable=receive-pack
关于windows - Git 推送到 LAN repo 停顿或停止而没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28098341/
采用这个 repo 结构: Server (main repo) ProjectA (subrepo) SharedLibrary (subrepo) Client (main rep
我们正在尝试使用 https://grails.org/plugin/jms用于 jms 集成。但我们无法解决它。 环顾四周,我能够验证它是否存在于这个 repo 中: http://repo.gra
是否可以在现有的 Mercurial 存储库中创建 Mercurial 存储库? 这个想法是将存储库的子目录作为不同的存储库进行处理,你是如何做到的? 我不是在谈论子存储库(至少,如果我理解子存储库的
这个问题在这里已经有了答案: How do I work with a git repository within another repository? (5 个答案) 关闭 6 年前。 我想克隆
我在尝试让 ssh 在 GIT 中工作时犯了一个灾难性的错误。 我实际上将错误的 url 从服务器复制到该存储库的配置文件中。因此,我放入配置文件的 url 是一个不同但名称相似的 repo。 现在,
我们在 github 上有数百个不再使用的存档库。 默认情况下,Github 上没有 stash 存档仓库的选项。目前,通过 active repos 是不友好的,尤其是在 github 上大量滚动。
在 .repo文件: [centos] name=centos7.2 baseurl=http://10.0.0.1/centos7.2/7.2/xxx/x86_64/ enabled=
一位同事使用 repo start 创建了功能分支 thebranch。现在我想检查这个分支并对其进行处理。我试试这个: repo init -u git@gitserver:manifest.git
我在github上托管了一个项目,结构如下 github.com/example/allpackages . ├── .git └── packages ├── example-1 ├
我在github上托管了一个项目,结构如下 github.com/example/allpackages . ├── .git └── packages ├── example-1 ├
我们可以使用 hg in -vp 将我们的本地仓库与主仓库进行比较。 如何在视觉上做到这一点?我们使用 ExamDiff extension作为我们的 Mercurial 视觉差异工具。我们认为有一种
我有一个 repo 镜像服务器 (myrepo),最初创建它是为了镜像和与远程同步(repoA)。也就是说,我使用了类似下面的东西来创建它。 cd myrepo repo init -u git://
我镜像了https://github.com/boostorg/boost.git使用命令到我自己的存储库: git clone --recursive https://github.com/boos
来自 Viewing Unpushed Git Commits我知道如何区分我自己的 repo 和本地提交: git diff origin/master..HEAD 但是,我怎样才能使用 path/
我已将我的应用程序源 (git repo) 存储在文件夹中: MyProject/front_app 但在 GitHub 上,我希望将存储库命名为 front_app 而不是 my_project_f
我有一个 repo1和 repo2在本地机器上。它们非常相似,但后者是某种其他分支(不再维护 repo1)。 /path/to/repo1 $ git log HEAD~5..HEAD~4 Add:
我在 Mac OS X (10.7.3)、x64 Intel 上更新我的 Android 源代码树时遇到问题。代码是根据 Downloading the Source Tree 安装的, 并且 SE
我有两个位于不同服务器上的存储库,分别称为 repo-1 和 repo-2。 开始两个“树干”是平等的: repo-1/trunk == repo-2/trunk 与此同时,正在向 repo-1/tr
我大约在 6 个月前加入,当我到达时,我的团队没有使用任何形式的版本控制。我已经说服 mgmt 在新项目中使用 Mercurial,所以我们在我们的网络服务器上有以下结构: -MainFolder (
我正在尝试从包含通常结构(分支、标签和主干)的 repoA 迁移到仅在主干中具有子文件夹的现有 RepoB,该 RepoB 在分支、标签和主干中具有项目和代码。 我有一个通过代码创建的转储文件: sv
我是一名优秀的程序员,十分优秀!