问题标签 [gitosis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
693 浏览

git - GIT, GITOSIS, 网站 - 路径

我有一个 Ubuntu 服务器并安装了 git 和 gitosis。我是服务器管理的新手,并且有以下 gitosis 文件夹树:/home/git/repositories

我通过将 gitosis-admin.git 克隆到我的本地计算机来编辑用户对不同存储库的权限,编辑gitosis.conf并将用户的公钥添加到 keydir 并将其推回服务器。这已经通过各种存储库和作品进行了测试。

我对描述如何使用 gitosis 创建可用于对 Web 域中的文件夹进行源代码控制的存储库的教程感到困惑。

我使用 SSH Putty 在 web 文件夹中创建了一个裸存储库;添加并提交文件给它。然后将其克隆到本地机器

这是成功的。

问题是当我尝试将它推回服务器时,会在 /home/git/repositories 路径中创建一个 repo,并且 web 文件夹 repo 不受影响。

我尝试结合以下信息:

http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

http://urbanpuddle.com/articles/2008/07/11/installing-git-on-a-server-ubuntu-or-debian

http://danielmiessler.com/blog/using-git-to-maintain-your-website

http://toroid.org/ams/git-website-howto

http://www.ibm.com/developerworks/web/library/wa-git/

0 投票
2 回答
1774 浏览

git - Cygwin/Git/Gitosis 无法推送新的存储库

我最近在我的 Windows Server 2003 机器上设置了 cygwin、git 和 gitosis,但遇到了麻烦。我已经按照我能找到的信函中的几乎所有教程进行操作,并确认当我推送 gitosis-admin 存储库时,我的 git 帐户的 authorized_keys 表正在更新。但是,在创建新存储库时,我似乎陷入了困境。

我看过许多推荐以下代码的教程(显然是 repo 名称更改),在 git bash 和 windows 命令行中都尝试过:

当我执行最后一行时(无论我发送什么),它说“远程端意外挂断”: $ git push -v origin master:refs/heads/master 推送到 git@my_server:free_monkey.git 致命:远端意外挂断

我的 gitosis.conf 文件如下所示:

如果我缺少帮助我调试此问题所需的任何信息,请告诉我。谢谢!

我关心的另一件事:

这可能是问题吗?如果是这样,我该如何解决?

0 投票
1 回答
611 浏览

git - Gitosis 每个用户的存储库目录?

我只是想知道,有没有办法设置 gitosis 以便用户拥有自己的目录,他们可以将他们想要的任意数量的存储库推送到该目录,并且基本上在该目录上拥有管理员权限?这可能有点令人困惑,但本质上我想要一些东西,比如如何在 github 上通过 git@github.com:username/repofoo.git 等 URL 访问所有存储库。

我意识到设置每个 repo 是一个有点手动的过程,可以通过脚本自动化,就像我假设 github 所做的那样,但是有没有办法做这样的事情,减去自动存储库创建?如果允许的话,我想我愿意尝试设置 gitorious 或其他东西,但是 gitosis 现在对我来说效果很好,而且设置起来非常容易,而且我听说 gitorious 并不那么容易。谢谢!

我听说过其他具有每个分支权限的 gitosis 分支/克隆,例如 gitolite,但我不确定是否要使用其中之一,除非它们具有其他引人注目的功能,并且与 gitosis 一样有据可查且易于使用.

0 投票
4 回答
6078 浏览

git - gitosis没有自动生成projects.list,gitweb不能工作

我设置了一个gitosis托管的 git 服务器。

git clone没关系。

但是当我如下设置gitwebgitweb.conf



顺便说一句,由于特殊符号 # 用作粗体前缀,因此删除了 commet。

通过“ http://localhost/cgi-bin/gitweb.cgi403 Forbidden - No projects found ”访问gitweb时报“ ”

我检查了projects.list文件它是空的,这是gitweb访问失败的原因吗?什么是正确的内容?我可以手动添加吗?

0 投票
7 回答
49734 浏览

git - git 警告:远程 HEAD 引用不存在的 ref,无法结帐

我正在尝试根据此处的说明设置 gitosis 。

它在我的远程机器上工作正常,所以服务器似乎设置得很好,但我也希望能够从不同的用户帐户(不是在 gitosis 设置中创建的 git 用户)在我的 gitosis 服务器机器上进行开发。

我已经复制了密钥并修改了 gitosis.conf 以便其他用户帐户可以访问但是当我尝试克隆它时它似乎可以工作,除了最后它说:

我最终得到一个空目录,除了 .git

我在谷歌上搜索了一下,但对问题所在并没有真正的了解

0 投票
1 回答
3821 浏览

windows - 从 Windows 访问本地 git 存储库

我在本地 ubuntu 服务器上有 git 存储库(由 gitosis 提供支持)

我想从由 windows xp (msysgit) 驱动的另一台本地计算机访问

我已经在 windows 机器上生成 rsa 密钥并发布到 ubuntu 服务器

我已将 .ssh/config 文件设置为在 Windows 机器上使用此密钥

当我做

ssh git@192.168.0.6

这可以按需要工作,无需密码提示

但是,当我尝试使用以下命令克隆存储库时:

git clone git@192.168.0.6:gitosis-admin

或者

git clone ssh://192.168.0.6/~/gitosis-admin

然后我收到以下错误:

致命:“gitosis-admin”似乎不是 git 存储库

当我尝试使用现有用户帐户进行克隆时,例如名为 atom 的用户

git clone atom@192.168.0.6:gitosis-admin

这可以按需要工作,但不适用于其他回购项目

我的 gitosis.conf:

[gitosis]

[组 gitosis-admin]

可写 = gitosis-admin

成员 = windows_user atom@atom-desktop

[小组组]

可写=另一个项目

成员 = @all

所以我的问题是:“问题出在哪里?” 我应该更改 gitdaemon 的设置吗?

0 投票
2 回答
1216 浏览

linux - ubuntu 上的 post-receive 钩子中的 git autodeploy 脚本

我有一个自动部署 bash 脚本,可以在 gitosis 的“接收后”挂钩中将更新的 repo 更新到 /tmp

#!/bin/bash

密码=$密码

REPO_NAME=${密码##/*/}

光盘 /tmp

git clone git@atom-desktop:$REPO_NAME

但是每当我推送存储库时,我都会遇到这样的错误:

主机密钥验证失败。

致命:远程端意外挂断错误:挂钩/接收后退出,错误代码为 128

如何应对?

0 投票
3 回答
1450 浏览

git - git-shell 相当于 svnserve -r?

我正在尝试在我和朋友都可以访问的共享主机帐户上设置一个 git 存储库。通过将此行添加到 ~/.ssh/authorized_keys,我已经成功地使用 Subversion 存储库完成了此操作:

到目前为止,我已经了解到 git-shell 是 git 的 svnserve 等价物,但似乎没有 -r 选项的等价物来限制对特定路径的访问。这是有问题的,因为我不希望我的朋友访问其他 git 存储库。

我已经简要地阅读了有关 gitosis 的内容,它似乎能够做我想做的事,但我想看看是否有更简单的解决方案,然后再尝试设置另一款软件来完成这一特定要求。提前致谢!

编辑:我发现这篇文章提供了一个脚本来做到这一点:

http://eagain.net/blog/2007/03/22/howto-host-git.html

但实际上,它是由后来编写 gitosis 并被标记为过时的同一个人编写的。在我的情况下,gitosis 似乎也是不可能的,因为它需要创建一个专用的 UNIX 用户,而我无法使用共享主机帐户。但是,如果我误解了这些,我很乐意被证明是错误的!

0 投票
2 回答
2201 浏览

git - Hudson git 没有合并到 master

我在让 hudson 签出我的 git repo 并合并到 master 时遇到问题。我对 Git 相当缺乏经验,所以术语(参考文献等......)对我来说仍然是全新的。我在下面包含了来自 Hudson 控制台的输出:

我认为正在发生的是 Hudson 正在检查远程上的 master 分支,但没有将它合并到它自己的 master 中。当我 ssh 进入我的服务器并进入工作区并输入git branch当前分支* (no branch)时,该“无分支”的日志是最新的。

如果我检查主分支,我会得到Your branch is behind the tracked remote branch 'origin/master' by x commits 很明显它没有合并到主分支中。这是如何工作的,它如何合并到“无分支”?

我在下面列出了我的 git 设置。不知道我需要做什么才能让 hudson 合并到它的主分支(或我为此指定的任何分支)我最终会将它设置为有一个登台和生产分支,所以我需要确保它拉并合并正确的分支,以便我可以运行部署。我从找到的一些教程中获得了这些哈德逊设置,所以我并不完全理解所有内容。例如,为什么要构建的分支是 */master 而不是 master(如果我将其更改为 master 似乎没有什么不同)

任何提示都非常感谢!

哈德逊 Git 设置

存储库的URL: 存储库的/home/git/repositories/my_repo.git
名称:origin
Refspec:+refs/heads/*:refs/remotes/origin/*
要构建的分支:*/master

Hudson Git 控制台日志

版本
Hudson:1.337
Git:1.5.6.5
Hudson Git 插件:0.7.3
Linux:Debian Lenny 5.0.3

0 投票
1 回答
3285 浏览

http-authentication - 在没有 LDAP Auth 的情况下使用 Gitosis 对 Gitweb 进行身份验证?

我发现你的文章使用 Apache Auth 和 gitweb,gitosis。

如果我不使用 LDAP 进行身份验证,我想知道是否有办法做到这一点。我们目前有一个非常大的 NIS 域,用于在所有 unix 服务器上进行身份验证。我们通过 UI 将其用于 SVN 存储库,但对于这种情况,我试图满足以下要求:

  • Git 存储库
  • 访问控制 - 使用 Gitolite
  • 在线用户界面 - 使用 Gitweb
  • UI 还必须具有访问控制 - 尚未实现

我首先在想我需要让 Gitweb 和 Gitolite 一起玩,并且每个人现在都单独工作。

如果 gitolite 使用 SSH 密钥提供访问权限,那么它可以通过为用户/开发人员将访问 Gitweb/gitolite 的每台机器拥有一个密钥来提供访问权限。

或者,如果我可以让 gitweb 简单地对来自 NIS 域的用户进行身份验证,因为每个用户都有一个我们的 IT 部门设置的帐户,这会更好。

我可以用来进一步了解此要求的任何想法或方法?