问题标签 [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 投票
1 回答
454 浏览

git - 我如何允许第二/第三/等计算机使用 ssh 和 gitosis 连接到我的 git 服务器?

我按照这里的指南 http://www.hackido.com/2010/01/installing-git-on-server-ubuntu-or.html

但我找不到导入另一个 ssh 密钥的正确方法,以便我的其他计算机可以克隆和推送存储库。

这段代码特别sudo -H -u git gitosis-init < /tmp/id_rsa.pub让我耳目一新,因为它似乎只向 git 用户导入了一个密钥。我尝试使用包含我的两个公钥的 authorized_keys 文件运行相同的命令,但这不起作用。

有什么建议吗?谢谢

更新

我使用本地用户在服务器上本地克隆了 gitosis-admin。我将我的 .pub 文件从每台计算机发送到我的服务器,然后将它们重命名并将它们保存在 gitosis-admin/keydir/ 中。然后,我根据@rpflo 的建议对 gitosis.conf 文件进行了以下更改。

成功提交并推送更改后,我仍然无法 git push "git@server:myproject.git" 到服务器(在初始化和设置原点等之后)

[解决了]

好吧,在我编辑了 conf 文件后,我没有“git add.”我的密钥文件到 gitosis-admin/keydir。

谢谢您的帮助

0 投票
2 回答
3926 浏览

git - Git:在本地克隆 gitosis admin repo

我使用以下指南在我的 ubuntu 10.04 服务器上设置了带有 gitosis 的 git 存储库:http: //scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

它工作得很好而且很漂亮,我可以将配置克隆到我的 ubuntu 10.10 台式计算机,并在那里提交更改。

没关系,但我在服务器上进行了大部分实际编码。所以我需要在本地克隆 configuration/gitosis-admin.git 存储库和其他存储库。

git clone --local file:///home/git/repositories/gitosis-admin.git 给我: 致命:'/home/git/repositories/gitosis-admin.git' 似乎不是 git 存储库致命:远端意外挂断

我将我的服务器用户添加到 git 组并得到:致命:无法打开'/home/git/repositories/gitosis-admin.git/objects':权限被拒绝

然后我尝试在服务器上创建一个公钥,并将其添加到密钥管理存储库中,将用户名添加为配置中的 (user) 和 (user)@(hostname) 到: git clone git@localhost: gitosis-admin.git 或 git clone git@(hostname):gitosis-admin.git 两者都要求我输入 git@(hostname) 密码

当我回到我的桌面并查看 gitosis-admin 存储库时,gitosis.conf 列出了: [gitosis]
[group gitosis-admin]
writable gitosis-admin
members = (desktopUN)@(desktopHostname) (serverUN)@(服务器主机名)

但是在服务器上,如果我进入 /home/git/repositories/gitosis-admin.git/ 和 cat gitosis.conf,它会列出 [gitosis]
[group gitosis-admin]
writable gitosis-admin
members = (desktopUN)@(桌面主机名)

我无法理解这一点,我该如何设置才能让它以我想要的方式工作。我很有可能在这一切背后有一些菜鸟咳嗽,但我已经花了 5 个小时试图让它现在工作,而且我需要 2 分钟来建立一个 svn 回购。所以我越来越不耐烦了..

谢谢

0 投票
1 回答
1174 浏览

linux - gitosis:配置不存在

Gitosis 不会更新我的授权密钥,因此我无法在 git 中创建新用户。gitosis-admin.git 下的 post-update 是可执行的。然后我尝试在服务器上手动运行脚本(sudo -u gitosis sh ./post-update),以以下错误结束:

有什么办法解决这个问题吗?

0 投票
2 回答
1220 浏览

git - Git钩子根据推送到远程服务器的分支更新各种Web文件夹

我正在使用 Gitosis (Debian Lenny) 开发一个 Web 应用程序,我希望它能够推送到不同的远程存储库/位置,从而允许应用程序的“前沿”、“发布候选”和“生产”版本镜像物理 Web 目录和代码库。我希望每个目录都有应用程序的一个分支。所以一个存储库,三个“实时”版本。

我是 Git 新手,所以可能有更好的解决方案,但到目前为止我想出的方法是找到一种将钩子附加到分支的方法(我还没有找到),或者编写一个钩子来过滤哪个分支正在提交。

我的问题是如何设置一个更新后挂钩来检查提交的分支,为基于该分支的目录设置一个变量,然后将代码库复制到可以通过 HTTP 立即访问的目录中?

将返回类似:

但我需要分支本身的名称,如“实验”或“大师”。

所以基本上我正在寻找类似的东西:

1) 获取刚刚提交的分支的名称(例如“master”、“experimental”)到一个字符串中

2) 使用 Bash case 声明使用什么目录

3) 运行类似“git archive --format=tar HEAD | (cd $LOCATION && tar xf -)”的内容,其中位置是从案例返回的内容。

我以为我正在接近以下内容,但意识到它没有返回分支名称,而是返回提交消息:

我确实意识到,如果我总是将分支作为提交的第一部分,我可以完成这样的事情,但我真的不想担心它。

任何帮助,将不胜感激。提前致谢!

0 投票
2 回答
612 浏览

git - git clone 密码请求,没有找到存储库

我在当前的 ubuntu 上安装了 gitosis,它创建了用户 gitosis

我生成了一个新的 id_dsa.pub 密钥并将其附加到 /srv/gitosis/.ssh/authorized_keys

两者是同一台机器!

现在我想通过克隆 gitosis-admin

问题:

(1)我被要求输入密码(为了绕过它,我设置了一个)

(2)克隆失败

我应该以某种方式修改用户和禁用密码吗?如何?

没有找到 repo - 我想我登录后在错误的主目录中?

编辑

它是这样工作的:

0 投票
1 回答
2432 浏览

linux - 如何完全删除 Gitosis 然后运行 ​​Gitolite?

我删除了 gitosis-admin 文件夹,但是当我运行 gitolite 时,自然还是有些问题。我运行 apt-get install gitolite,然后在我创建并用于设置无密码访问的新 .pub 密钥上运行 gl-setup。设置似乎运行良好,但现在在运行 git clone gitolite@server:pathgoeshere 命令时提示我输入密码(当然是我!)。

我好累。我已经与 gitosis 搏斗了 2 周。请不要告诉我安装 Gitolite 会很痛苦。我应该删除所有 Gitosis 污染我的服务器的东西以确保 Gitolite 正常工作吗?它会在哪里。对互联网的咨询揭示了 Gitosis 的多个可能的藏身之处……比如钥匙。我删除了家中的 Gitosis 文件夹......到目前为止就是这样。

0 投票
1 回答
2568 浏览

git - Gitosis post-receive hook 部署存储库获取公钥错误

我在我的服务器上设置了 gitosis,我正在尝试创建一个接收后挂钩,它将检查对远程机器上工作目录的更改。

最初我收到一条错误消息,cannot open /home/user/source/testing-local/.git/FETCH_HEAD: Permission denied因此我将工作目录的 .git 文件夹的组所有权更改为 git 用户。

在此之后,我得到了一个错误Host key verification failed,导致我检查哪个用户正在运行钩子,当然是 git(我真傻!),所以我在 gitosis 中为运行 gitosis 的 git 用户设置了一个密钥,并在 gitosis.conf 中启用了它. 现在我变老了Permission denied (publickey).

我的接收后挂钩如下所示:

id调用只是为了检查我以哪个用户身份运行。

有没有更简单的方法来实现这一点?!我是否错过了设置中的某些关键内容?

0 投票
2 回答
482 浏览

path - Ubuntu 上的 Gitosis 只能在 git->repositories 符号链接中找到存储库

gitosis在我的 Ubuntu 机器上,突然间,它在旧路径上找不到任何存储库。

昨天这工作:

今天,我收到了回复:

我没有对我的机器进行任何更改,经过一些测试后我发现我可以通过~gitosis用户目录中的 git 符号链接访问存储库,所以这仍然有效:

(git 符号链接指向同一目录中的“存储库”)

我非常希望避免更改所有克隆项目的配置文件中的远程路径。你能帮我如何配置 git 以便我可以再次从根路径访问我的存储库吗?

更新:我发现我也不能再添加新的存储库了。将 repo 添加到 后gitosis.conf,将远程原点设置为包含该git/目录并使用

我明白了

致命:“mynewproject.git”似乎不是 git 存储库

所以现在我只能更新现有的存储库,并且只有当我更改远程路径以包含git目录时。

最好的,保罗

0 投票
1 回答
278 浏览

git - git的问题

我是 git 新手。

我需要使用公钥从我的仓库推送更改。如何管理用户?如果我想删除用户?

公钥管理是管理 git 系统的唯一方法吗?

0 投票
1 回答
23458 浏览

ssh - windows下生成有效的openssh ssh密钥

我有一些人在 Windows 下,他们需要一个公共/私有 RSA 密钥对才能让他们通过 Gistosis(GIT 服务器)的身份验证。我们使用 SmartGit 作为我们的 GIT GUI,这个工具要求私钥是 OpenSSH 的格式。

使用 puttyGen,我已经能够获得一个 openssh公钥,它打印在窗口中,但不是私钥。我只能使用 Save 按钮保存一个私钥,它保存的格式与我们使用 *nix 工具的格式不同。

我们如何使用 windows 工具来生成有效的 openssh 兼容的公钥和私钥

谢谢。