问题标签 [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.
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
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 文件如下所示:
如果我缺少帮助我调试此问题所需的任何信息,请告诉我。谢谢!
我关心的另一件事:
这可能是问题吗?如果是这样,我该如何解决?
git - Gitosis 每个用户的存储库目录?
我只是想知道,有没有办法设置 gitosis 以便用户拥有自己的目录,他们可以将他们想要的任意数量的存储库推送到该目录,并且基本上在该目录上拥有管理员权限?这可能有点令人困惑,但本质上我想要一些东西,比如如何在 github 上通过 git@github.com:username/repofoo.git 等 URL 访问所有存储库。
我意识到设置每个 repo 是一个有点手动的过程,可以通过脚本自动化,就像我假设 github 所做的那样,但是有没有办法做这样的事情,减去自动存储库创建?如果允许的话,我想我愿意尝试设置 gitorious 或其他东西,但是 gitosis 现在对我来说效果很好,而且设置起来非常容易,而且我听说 gitorious 并不那么容易。谢谢!
我听说过其他具有每个分支权限的 gitosis 分支/克隆,例如 gitolite,但我不确定是否要使用其中之一,除非它们具有其他引人注目的功能,并且与 gitosis 一样有据可查且易于使用.
git - gitosis没有自动生成projects.list,gitweb不能工作
我设置了一个gitosis
托管的 git 服务器。
git clone
没关系。
但是当我如下设置gitweb
时gitweb.conf
:
顺便说一句,由于特殊符号 # 用作粗体前缀,因此删除了 commet。
通过“ http://localhost/cgi-bin/gitweb.cgi403 Forbidden - No projects found
”访问gitweb时报“ ”
我检查了projects.list文件它是空的,这是gitweb访问失败的原因吗?什么是正确的内容?我可以手动添加吗?
git - git 警告:远程 HEAD 引用不存在的 ref,无法结帐
我正在尝试根据此处的说明设置 gitosis 。
它在我的远程机器上工作正常,所以服务器似乎设置得很好,但我也希望能够从不同的用户帐户(不是在 gitosis 设置中创建的 git 用户)在我的 gitosis 服务器机器上进行开发。
我已经复制了密钥并修改了 gitosis.conf 以便其他用户帐户可以访问但是当我尝试克隆它时它似乎可以工作,除了最后它说:
我最终得到一个空目录,除了 .git
我在谷歌上搜索了一下,但对问题所在并没有真正的了解
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 的设置吗?
linux - ubuntu 上的 post-receive 钩子中的 git autodeploy 脚本
我有一个自动部署 bash 脚本,可以在 gitosis 的“接收后”挂钩中将更新的 repo 更新到 /tmp
#!/bin/bash
密码=$密码
REPO_NAME=${密码##/*/}
光盘 /tmp
git clone git@atom-desktop:$REPO_NAME
但是每当我推送存储库时,我都会遇到这样的错误:
主机密钥验证失败。
致命:远程端意外挂断错误:挂钩/接收后退出,错误代码为 128
如何应对?
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 用户,而我无法使用共享主机帐户。但是,如果我误解了这些,我很乐意被证明是错误的!
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
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 部门设置的帐户,这会更好。
我可以用来进一步了解此要求的任何想法或方法?