经过几个小时的谷歌search和尝试(阅读本页上的几个post),我仍然不知道我做错了什么。 所以我会很高兴,如果有人能帮我这里… 我更新了Ubuntu 11.10到12.4 LTS,因此不得不将vom gitosis切换到gitolite(更新删除了弃用的gitosis包; gitosis之前很好地工作)。 我通过删除authorized_keys和后更新挂钩禁用旧gitosis安装(用户gitosis),然后按照本教程安装gitolite: http : //cisight.com/how-to-setup-git-server-using-gitolite-在-ubuntu的-11-10-precise中/ 一切都达到(包括)下面的行工作正常: gl-setup /temp/gitadmin.pub 但是,当我尝试克隆(在与我的个人用户有私钥gitadmin.pub在同一台计算机上),我被要求input密码“git”。 但是,git没有密码(我创build了一个新的git用户,如下所示: sudo adduser –system –shell /bin/sh –gecos 'git version control' –group –disabled-password –home /home/git git ) 任何人都可以帮助我,告诉我我在这里错过了什么! 谢谢! PS:从公共github回购协议中的Git clone(前一段时间git被设置为gitosis)
我无法用gitolite设置gitweb。 Gitolite工作正常,但gitweb不断给我一个404 – 找不到项目。 奇怪的是,当我以下面的方式运行cgi脚本作为apache用户似乎正常工作。 # su apache /var/www/git/gitweb.cgi –shell=/bin/sh …. <tr class="dark"> <td><a class="list" href="?p=testing.git;a=summary">testing.git</a></td> <td><a class="list" title="Test repo 3" href="?p=testing.git;a=summary">Test repo 3</a></td> … Gitweb应该有读取权限,并且设置了$REPO_UMASK = 0022; 在gitweb.conf中,并将Apache添加到gitolite组中#usermod # usermod -a -G gitolite apache # ls -l gitolite/ total 8 -rw-r–r–. 1 gitolite gitolite 12 Sep 28 08:47 projects.list drwxr-x—. 4 gitolite gitolite 4096 […]
这种组合是可能的吗? 服务器:在Linux上的Git 客户:Windows 身份validation:Windows域凭据 传输协议:SSH 如果是的话,这将如何完成?
我使用gitolite来限制一个存储库的权限,它迄今为止工作得很好,直到我试图克隆和推送用户的公钥已经在authorised_keys中添加,而不是通过gitolite。 我认为问题是我正在使用有权访问服务器的密钥。 当我尝试克隆服务器:reponame,我得到一个错误说,存储库不存在,当我从存储库/ reponame克隆,并尝试推,我得到以下错误: Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 370 bytes | 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: Empty compile time value given to use lib at hooks/update line 6 remote: Use of uninitialized […]
按照这个关于安装git,gitolite,git-daemon和git-web的教程,我已经成功地完成了整个教程,并且实际上添加了项目gitolite; 他们在http://servername/上显示在git web上。 现在我试图克隆gitolite-admin.git来添加另一个项目,并吐出错误 fatal: 'gitolite-admin.git' does not appear to be a git repository fatal: The remote end hung up unexpectedly 我实际上不能从我的服务器克隆任何存储库。 这里有一些信息,虽然我不确定要提供什么: 我可以使用SSH密钥SSH连接到服务器。 gitolite SSH密钥正在工作; 当我执行git clone gitolite@{server_ip}:gitolite-admin.git它会要求我input密码的密码, sudo su gitolite同时在服务器上允许我cd到/home/gitolite ,其中存放着repositories文件夹和projects.list。 ls in /home/gitolite/repositories显示gitolite-admin.git以及其他。 projects.list 不列出gitolite-admin.git但它列出otherproject.git ; 如果这影响克隆的能力,我会假设它仍然会克隆otherproject.git ,它不会。 如果还有什么我可以提供给更多的见解,请让我知道。 任何帮助表示赞赏。 注意:我非常仔细地学习了这个教程,只是在sudo apt-get install gitolite步骤中sudo apt-get install gitolite它的configuration,这在Ubuntu 10.04上是不可用的,所以我按照这篇文章来实际安装gitolite。
回答如下 我目前正在build立一个本地git /开发服务器,并遇到与gitolite post-hook的障碍。 概述我目前正在做的事情。 我已经设置了一个本地服务器,其中包含一个4TB RAID10被用作git存储库,该机器也被用作本地开发机器,并简化了维护,我试图自动创buildApache虚拟主机的过程,当一个新的存储库是通过gitolite“git-post-init”创build的。 我希望通过克隆存储库的软件分支(请参阅下面的代码)来完成此操作,在apache vhostconfiguration中添加,然后以符号方式将其链接到apache扫描的目录。 这个过程似乎是正确的,因为我能克隆存储库添加一些初始文件,并创buildconfiguration文件,但是当我试图在存储库中做任何git相关的命令,我提出了以下错误 fatal: Not a git repository: '.' 如果在钩子运行后进入新克隆的仓库,我可以调用仓库的状态。 git status 哪些工作…它似乎只是试图做任何这个钩子内没有。 下面是正在使用的钩子代码,删除额外的configuration来缩短它。 #!/bin/sh # This will create an apache virtualhost file and store it in the # repositories conf/reponame.conf directory and then symlink it to # /home/git/apache/reponame.conf # # A new entry will then be created […]
一些疯狂的事情正在发生在我身上。 如果你访问http://git.jshawl.com/ ,你会看到一个单一的repo“testing.git”,但是如果你点击右下angular的“TXT”,你可以看到另一个repo是“ WordPress的主题” 另外,我知道有repo,因为我可以克隆它git clone [email protected]/boilerplates/wordpress-theme 是什么赋予了? 这是我的设置更多的背景信息: git.jshawl.com托pipe在Mac OS X目录“/ Users / git / repositories”(这是在安装gitolite时设置的),我有一个VHOST指向这个目录。 我也把我的gitweb.cgi文件放到那个目录下。 我对templatesplates目录和wordpress-theme目录的权限是755(rwxr-xr-x)
说我想手动编辑gitolite( conf/gitolite.conf和添加键)的configuration文件。 什么是正确的方法呢? 在服务器上logging为git,我试图克隆git@localhost:gitolite-admin ,执行我的更改,然后推送。 请注意,我已经使用了 – –force和非快速编辑(重写重写历史logging)。 然而,推动似乎工作,因为一个新的克隆签出包括我的变化。 但是,我不能从外面观察到任何变化。 我对我的编辑非常有信心,并知道我是否错过了一个步骤(例如重启守护进程或其他任何东西)。
我尝试用ssh和http安装gitolite3。 我主要关注了gitolite3的官方指南 ,但是我仍然徘徊在剩下的三个问题上。 当我$ git clone http://florian@server/git/testing ,这正确地创build回购。 我添加并提交一个新的文本文件,然后$ git push http://florian@server/git/testing 。 那么,这只是给了我一个信息: Everything up-to-date 这很奇怪 我$ rm -rf testing ,再次克隆回购,我的文本文件不存在。 看来阅读很好,但是写作在某处丢失了。 在/ etc / httpd / logs / suexec.log,error_log,access_log中都没有任何可疑,它们都表示成功的用户身份validation和连接。 此外,用于testing的./gitolite-admin/conf/gitolite.conf的内容是: repo testing RW+ = @all RW+ = daemon 虽然gitolite3的官方指南没有提及添加W +的testing回购。 我有点傻眼,我应该在哪里推进http工作? 为了达到这个目的,我必须echo 0 > /selinux/enforce (禁用selinux),我想再次重新启用它。 重新启用后,每次我尝试上面的$ git clone http://florian@server/git/testing ,httpd error_log有以下几行,而且命令本身失败(当然): [Sun […]
所以我build立了一个运行debian stable(squeeze)的简单服务器,并configuration了git。 使用gitolite,我有所有的function(至less是基本的克隆/推/拉/提交)工作。 安装gitweb没有任何问题。 但是,当我访问gitweb,我得到一个没有任何回购列表的gitweb屏幕。 # tail -n 1 /var/log/apache2/error.log [DATE] [error] [client IP_ADDRESS] fatal: Not a git repository: '/var/lib/gitolite/repositories/testrepo.git' # cd /var/lib/gitolite/repositories/testrepo.git # ls branches config HEAD hooks info objects refs 这是我在/var/lib/gitolite/projects.list看到的内容: testrepo.git 在/etc/gitweb.conf : # path to git projects (<project>.git) $projectroot = "/var/lib/gitolite/repositories"; # directory to use for temp files $git_temp = "/tmp"; […]