Gitolite 在本地使用 gitolite 用户创建存储库

标签 git ssh local gitolite

我想使用本地帐户在我的 gitolite 服务器上创建一个新存储库,而不通过 SSH 访问。这可能吗?它们是我可以使用的一些 gitolite 脚本吗?

如果我尝试通过系统上的 git 用户通过查看 gitolite-admin 来配置 gitolite repo 并相应地配置它。但我无法推送我的更改,因为 Hook 会崩溃,因为我没有通过 SSH 登录。

我为什么要这样做?我想通过 Chef 设置 gitolite 并创建一个新的 repo。但我不想向 Chef 脚本提供私钥。

编辑

对于每个尝试使用厨师来设置 gitolite 的人。有一个bug这禁止天真地使用 bash 资源,因此您必须明确指定一些环境数据,因为 gitolite 使用它们:

bash "gitolite push" do
  cwd "/home/git/gitolite-admin"
  user "git"
  group "git"
  environment ({ 'HOME' => ::Dir.home('git'), 'USER' => 'git' })
  code "../bin/gitolite push"
end

最佳答案

如果您在 gitolite 服务器上,一个简单的解决方案是:

  • 直接克隆裸管理仓库
    cd ~
    git clone repositories/gitolite-admin.git
    cd gitolite-admin/conf
    // Declare a new repo in gitolite.conf
    git add
    git commit -m "New repo"
     ~/bin/gitolite push
    

  • gitolite push is documented here .

    If you really must do it, and this is a one-time thing, you can try gitolite push instead of git push.
    BUT... this defeats all gitolite access control, so if you're going to do this often, maybe you don't need gitolite!

    关于Gitolite 在本地使用 gitolite 用户创建存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25521433/

    相关文章:

    将变量(结构数组)从全局更改为局部(简单 C 程序)

    ruby-on-rails - 无法验证 https ://rubygems. org/的 SSL 证书

    Git merge 工具与差异工具

    带有日期的 git ls 文件?

    ssh - 向现有液滴添加新的 ssh key 时,DigitalOcean 权限被拒绝(公钥)?

    ssh - Spark worker 不会绑定(bind)到 master

    java - 在 java 中获取本地日历的一个月的第一天

    git - 是否应该在 gerrit 管理的 git 存储库上定期运行 "git gc"?

    windows - 如何在 Windows 上调试 "Could not add identity : agent refused operation"?

    php - 在wamp上使用php从mysql数据库中随机选择