考虑一个具有用户只读权限的文件,例如… -r——–+ admin secrets.txt 这样的文件如何能够进行修改控制,使其内容保持秘密,甚至从修订控制pipe理员那里?
我有我自己的服务器上与gitolite托pipe的项目,我想部署整个项目从gitolite裸仓库到apache可访问的地方,通过post-receive钩子。 我有下一个钩的内容 echo "starting deploy…" WWW_ROOT="/var/www_virt.hosting/domain_name/htdocs/" GIT_WORK_TREE=$WWW_ROOT git checkout -f exec chmod -R 750 $WWW_ROOT exec chown -R www-data:www-data $WWW_ROOT echo "finished" 挂钩不能没有任何错误信息完成。 chmod: changing permissions of `/var/www_virt.hosting/domain_name/file_name': Operation not permitted 意味着git没有足够的权利来实现它。 git的源代码path是/var/lib/gitolite/project.git/ ,它由gitolite:gitolite拥有gitolite:gitolite 有了这个权限redmine(在www数据用户下工作)不能实现git仓库来获取所有的变化 整个项目应该放在这里: /var/www_virt.hosting/domain_name/htdocs/ ,它由www-data:www-data 。 我应该做些什么改变,在git中正常工作,然后redmine与仓库? 我做了什么,是: # id www-data uid=33(www-data) gid=33(www-data) groups=33(www-data),119(gitolite) # id gitolite uid=110(gitolite) gid=119(gitolite) groups=119(gitolite),33(www-data) 没有帮助。 我想没有任何问题工作Apache(查看项目),redmine读取项目(Git下)和GIT(部署到WWW数据可访问path)的源文件, […]
当我在centos5服务器上运行yum升级时,我遇到了git问题。 yum upgrade 输出: Resolving Dependencies –> Running transaction check —> Package git.x86_64 0:1.7.11.3-1.el5.rf set to be updated —> Package perl-Git.x86_64 0:1.7.11.3-1.el5.rf set to be updated –> Processing Dependency: perl(SVN::Ra) for package: perl-Git –> Processing Dependency: perl(SVN::Delta) for package: perl-Git –> Processing Dependency: perl(SVN::Client) for package: perl-Git –> Processing Dependency: perl(YAML::Any) for package: perl-Git –> […]
我一直在使用我的Windows PC的龟甲Git连接到GitHub以及本地服务器。 我的一个操作系统驱动器失败(RAID 0),所以现在我的任务是恢复速度。 我一直试图通过ssh连接上午的大部分时间,但不断收到以下错误代码: git did not exit cleanly (exit code 128) (12278 ms @ 12/3/2012 4:36:55 PM) 我相当肯定这不是凭证问题,因为我可以通过terminal在我的Linux机器和MacBook上连接。 该过程提示input我的密码,然后失败,出现以下错误: Cloning into 'C:\Users\User\Documents\xxxxxx_docs'… fatal: '/home/User/repos/xxxxxxx_docs' does not appear to be a git repository fatal: The remote end hung up unexpectedly 这是一个混帐存储库,我只是在我的Mac上克隆它。 我不知所措,有什么想法?
像很多次一样,我使用虚拟机来testing一些东西。 这就是configuration可能有点脏的原因。 我只是试着让cgit和nginx一起运行。 我创build了一个包含git仓库的/git (owner: www-data:www-data )目录。 我的cgitconfiguration( /etc/cgitrc )是: virtual-root=/htdocs/cgit/ css=/htdocs/cgit/cgit.css logo=/htdocs/cgit/cgit.png scan-path=/git 我在/etc/nginx/sites-available/default的默认服务器上添加了以下部分: location ~* ^.+\.(css|png|ico)$ { expires 30d; } location /htdocs/cgit/ { index cgit.cgi include fastcgi_params; fastcgi_param SCRIPT_FILENAME /var/www/htdocs/cgit/cgit.cgi; fastcgi_pass unix:/var/run/fcgiwrap.socket; fastcgi_param PATH_INFO $uri; fastcgi_param QUERY_STRING $args; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; […]
我在GitHub上有一个“推后”webhook,它调用一个CGI脚本来更新一个Jekyll网站。 剧本: user@server [~/_repo]# cat cgi-bin/githook.cgi #!/bin/bash echo Content-type: text/plain echo if [ -z "$HOME" ] ; then HOME=/home/user fi GIT_REPO=$HOME/_repo PUBLIC_WWW=$HOME/public_html pushd $GIT_REPO git pull echo "$HOME/.rvm/bin/ts_jekyll build –source $GIT_REPO –destination $PUBLIC_WWW" $HOME/.rvm/bin/ts_jekyll build –source $GIT_REPO –destination $PUBLIC_WWW popd echo DONE GitHub将脚本的输出保存为: ~/_repo ~/public_html/cgi-bin Updating OLD_COMMIT_SHA..NEW_COMMIT_SHA /home/user/.rvm/bin/ts_jekyll build –source /home/user/_repo/ –destination /home/user/public_html Configuration file: […]
对于我的生活,我无法弄清楚为什么我不能从Stash克隆私人回购。 想想我已经试过了: 1)创build' ansible.cfg ' [ssh_connection] ssh_args = -o ForwardAgent=yes 在我的项目目录。 键在主机上工作正常,因为我可以简单地克隆回购。 这就是我如何克隆: – name: Clone the repo git: > repo=ssh://[email protected]:7999/pp/my-private-repo.git accept_hostkey=yes dest=/var/www 我得到“ 主机密钥validation失败。致命:无法读取远程存储库 ” 2)我试图通过vagrant和/或Ansible将我的私钥文件复制到远程机器,并尝试使用key_file=/home/vagrant/.ssh/id_rsa_stash ,但仍然没有运气!
当我从Eclipse中创buildEclipse – >文件 – >导入 – >项目 – >项目 – >克隆URI – >从Gitlabinputrepository HTTPS URI时,出现错误: 可能的原因: url不正确 没有networking连接(例如错误的代理设置) SSL主机无法validation(在Gitconfiguration中设置http.sslVerify = false) 我在Eclipseconfiguration中添加了http.sslVerify false ,但它仍然不起作用。 如果我在cmd中使git clone https://my.example.com/gitlab/root/repository.git ,我得到: 克隆到“存储库”… 致命:无法访问“ https://my.example.com/gitlab/root/repository.git ”:请求的URL返回错误:500 Gitlab生产日志显示: 按项目处理:: GitHttpController#info_refs为HTML 参数:{“service”=>“git-upload-pack”,“namespace_id”=>“java”,“project_id”=>“project.git”} 在102ms内完成500个内部服务器错误(ActiveRecord:2.5ms) JWT :: DecodeError(无JSON Web令牌): lib / gitlab / workhorse.rb:120:在'verify_api_request!'中 app / controllers / projects / git_http_client_controller.rb:154:在'verify_workhorse_api!'中 lib / […]
从Ubuntu 9.04版本库中获得的subversion软件包有一个非常恼人的限制,这使得https://上托pipe的软件库基本上不可用。 被接受的解决scheme是从底格里斯托pipe的源代码手动编译,确保使用–with-ssl选项进行configuration。 这对于svn CLI客户端来说工作正常,但是与使用libsvn的其他工具相比,这种情况已经崩溃了。 我假设手工编译位确实安装了正确的libsvn .so (s),但是它们不能被像通过APT安装的git-svn这样的软件包使用。 所以,这里的问题是:我如何让git-svn在Ubuntu上运行,并使用https://托pipe的存储库?
我最近设置gitolite,在那里用户通过ssh访问git的用户通过“gitolite”用户。 现在我想将它集成到LDAP中。 每个用户在LDAP中都有pubkey,如果他有“git”objectClass,他将能够通过ssh访问“gitolite”用户。 我知道可以将公钥存储在LDAP中,我不确定是否可以在基于objectClass的“gitosis”帐户中进行身份validation。 编辑:澄清,用objectClass git,用户“foobar”将能够通过sshlogin为“gitolite”