我正在尝试在我的apache2服务器上设置git-http-backend。 目前它正在使用suexec和一个包装和所有的东西,但没有限制。 我可以拉和推。 现在我想包括部分restrcit推送权限: <LocationMatch "^/git/.*/git-receive-pack$"> AuthType Basic AuthName "Git Access" AuthUserFile /var/www/vhosts/librepdm.alitecs.de/users Require user alexander </LocationMatch> 用户文件已到位并已填写。 这说我的Apache访问日志: 93.95.132.202 – – [28/Mar/2012:15:23:18 +0200] "GET /git/test.git/info/refs?service=git-receive-pack HTTP/1.1" 403 357 "-" "git/1.7.8.msysgit.0" 93.95.132.202 – – [28/Mar/2012:15:23:18 +0200] "GET /git/test.git/info/refs HTTP/1.1" 200 331 "-" "git/1.7.8.msysgit.0" 93.95.132.202 – – [28/Mar/2012:15:23:18 +0200] "GET /git/test.git/HEAD HTTP/1.1" 200 341 "-" "git/1.7.8.msysgit.0" […]
我有一个QNAP NAS,我通过Optware ipkg安装了Gitosis,并且工作到目前为止。 它在用户'git'下运行。 pipe理员回购是用我的客户端机器的公钥初始化的,如下所示: /opt/bin/gitosis-init < my-key.pub 但是,无论何时login,都要求input密码,login成功时input正确的密码。 在我的opensshconfiguration我取消注释这些行,并重新启动守护进程: # Protocol 2 HostKey /opt/etc/openssh/ssh_host_rsa_key HostKey /opt/etc/openssh/ssh_host_dsa_key 我也在StackOverflow上发现了这个问题 。 但是,所有这些解决scheme似乎只针对新添加的用户,因为我已经添加到gitosis.conf中,并且密钥文件也存在。 我也100%肯定我上传了公钥文件,而不是私人的,因为我从头开始几次(重新安装了所有东西)。 input每个git动作的密码真的很烦人。 所以帮助非常感谢。
我正在使用下面的指示,试图在Debian 6.0.5上安装gitlab https://github.com/gitlabhq/gitlabhq/blob/stable/doc/installation.md 我在运行以下命令时遇到错误 sudo -u gitlab bundle exec rake gitlab:app:setup RAILS_ENV=production WARNING: #<ArgumentError: Illformed requirement ["#<Syck::DefaultKey:0x00000004b52198> 1.1.4"]> # -*- encoding: utf-8 -*- Gem::Specification.new do |s| s.name = %q{carrierwave} s.version = "0.6.2" s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["Jonas Nicklas"] ….more error…. s.add_dependency(%q<mini_magick>, [">= 0"]) s.add_dependency(%q<rmagick>, [">= 0"]) end end WARNING: Invalid […]
我有一个用于几个项目的普通git“post-receive”脚本,如果根目录中存在/ app /或/ public /文件夹,它需要执行不同的操作。 使用: FOLDERS=`git ls-tree -d –name-only -z master`; 我可以看到目录列表,我想在bash中使用RegExp支持来运行如下所示的内容: if [[ "$FOLDERS" =~ app ]]; then … fi 但是,如果有像“ 应用程序 ”文件夹那样的话,那么这将不起作用…我在git“ls-tree”命令中指定了“-z”选项,所以我可以使用\ 0(空)字符作为分隔符,但不知道如何testing在bash RegExp。 同样,我知道支持在ls-tree命令中指定一个特定的path,然后可以将其转换为“wc -l”,但是我认为获得完整的根目录列表(不是recursion),然后用返回的输出testing2(或更多)文件夹。 可能涉及到: https : //stackoverflow.com/questions/7938094/git-how-to-check-which-files-exist-and-their-content-in-a-shared-bare-repos
我有一个git仓库的debian服务器。 我使用了两个键 keygen -t rsa 这给了我root.pub和user.pub文件。 root.pub附加到/root/.ssh/authorized_keys和user.pub到/home/user/.ssh/authorized_keys。 我已经将密钥转换成腻子格式(ppk):root.ppk和user.ppk。 现在我可以使用putty以root和用户身份login这些密钥 – 一切正常! 当它是关于TortoiseGit(最新版本)的时候就会出现这个奇迹。 我已经设置了两个遥控器: [remote "user"] fetch = … url = ssh://user@server/path puttykeyfile = C:\\path\\user.ppk [remote "root"] fetch = … url = ssh://root@server/path puttykeyfile = C:\\path\\root.ppk 随着root.ppk一切工作正常 – 我可以推,拉到我的仓库,而无需input密码。 但user.ppk失败 – 我得到TortoisePLink窗口的密码提示。 /var/log/auth.log中没有任何内容。 我完全卡住了。 TortoiseGit(或Windows)是否需要更多的configuration? 更新:似乎TortoiseGitcaching或存储密钥的地方。 如果我将root.pub添加到/home/user/.ssh/authorized_keys,则无论在TortoiseGit设置中指定哪个密钥,都可以使用这两个远程来推/拉。 杀TortoiseCache.exe,重新启动选美,重新启动Windows机器没有任何效果。 它定义在某处存储密钥。 不pipe我configuration什么,sshlogin都使用root.ppk。 所以问题是“ TortoiseGit在.git / config以外存储ppk键 ” 在哪里 […]
我有一些麻烦build立与Apache的Git服务器。 这是我的gitrepo.conf: DavLockDB "opt/local/apache2/var/DavLock" <Directory /opt/local/apache2/htdocs/repo> DAV On Deny from all AuthType Basic AuthName "Git repositories" AuthUserFile /etc/apache2/other/htpasswd AuthGroupFile /etc/apache2/other/htgroup-git </Directory> <Directory /opt/local/apache2/htdocs/repo/myproject.git> Allow from all Order allow,deny <Limit GET> Require group myproject-reader </Limit> <Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> Require group myproject-writer </Limit> </Directory> 当我git push到http://admin@localhost/repo/myproject.git ,我得到这个: error: […]
我想保留在我的/ etc / dir中的一些文件夹git-revised,因为我很新的服务器pipe理,并不断在我的/ etc / nginx /和/ etc / bind /目录搞乱。 我听说过git-revising他们的/ etc /目录,但是这看起来有点像矫枉过正,因为在这一点上我只是搞乱了这两个子目录。 我遇到的问题是,如果我sudo我的git操作,我没有正确的pubkeys推到我的远程回购(bitbucket)。 但是,如果我不sudo,我需要解决所有的权限(再次,不是很亲)。 有谁知道pipe理他们的configuration的最佳做法? 或者我应该如何解决这个问题? 谢谢,Dean。 PS。 它是Ubuntu 12.04,Git,nginx,bind9,amazon aws,bitbucket …
我想更改我手动安装的gitolite到软件包安装,因为它更容易更新。 我怎么能做到这一点,而不会丢失我的知识库? /在我开始使用gitolite安装之前,如何备份我的存储库? 谢谢,弗洛
我必须设置一个服务器,可以允许http vcspipe理(如git和svn)。 SVN支持运行良好,但我有一些与Git的麻烦。 实际configuration: CentOS 5 Apache 2.2.8 Git 1.7.4.1 /etc/httpd/conf/httpd.conf内容: ServerTokens OS ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 120 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 10 <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 </IfModule> <IfModule worker.c> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> […]
上下文/信息 我按照官方页面上的说明在Ubuntu 12.04上安装了gitlab: https : //github.com/gitlabhq/gitlabhq/blob/stable/doc/installation.md 安装完成后,我可以访问http://machine_ip:3000的Web界面,凭证: [email protected] 5iveL!FE 在我的机器上,我有以下用户: – git(在本教程中没有设置密码) – gitlab(在本教程中设置auto) – my_username(作为root用户使用的普通用户) 在gitlab的web界面中,当我请求的时候,我在my_username上生成了一个公共的rsa键并粘贴在那里。 然后我开始在/ home / my_username / test中用git init和git remote add origin创build一个存储库,如本教程中所示。 当我试图推动我的提交,我得到以下错误: To git@localhost:test.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@localhost:test.git' To prevent you from losing history, non-fast-forward updates were rejected Merge […]