Articles of git

木偶 – 如何安装不在默认包中的git 1.8.x

你将如何使用puppet自动安装特定版本的git? apt-get update && apt-get install git-core在我的12.04 ubuntu服务器上apt-get update && apt-get install git-core导致git版本为1.7.9。 我必须有1.7.10或更新。 有两个选项,我可以看到。 1.添加ppa 2.从源代码安装git 我认为从源代码编译将更容易,所以这是我正在尝试。 我试过使用puppetlabs / apt模块来安装git-core ppa,但是我的git版本在puppet运行后仍然是1.7.9。 root@gitlab:~# puppet module list /etc/puppet/modules ├── puppetlabs-apt (v1.2.0) ├── puppetlabs-git (v0.0.3) ├── puppetlabs-stdlib (v4.1.0) └── ruby (???) root@gitlab:~# cat /etc/puppet/manifests/git.pp class { 'apt': } apt::ppa { 'ppa:git-core/ppa': before => Exec['apt-get update'], } exec{'apt-get […]

Git与智能HTTP传输。 是git更新服务器信息需要?

我正在使用HTTP传输设置一个Git服务器。 由于我的服务器和客户端都将使用Git> = 1.6.6,因此启用了智能HTTP传输 。 有关HTTP / S协议的Git手册部分说,我需要启用一个post-update钩子调用: git update-server-info 当使用智能HTTP传输(Git> = 1.6.6)时,这个命令是否仍然需要?

Perl在EC2上安装Git时的兼容性问题

任何人都可以帮我在我的EC2盒子上安装git吗? 当我运行: sudo yum install git 我得到: Resolving Dependencies –> Running transaction check —> Package git.x86_64 0:1.8.2.1-1.el6 will be installed –> Processing Dependency: perl-Git = 1.8.2.1-1.el6 for package: git-1.8.2.1-1.el6.x86_64 –> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.2.1-1.el6.x86_64 –> Processing Dependency: perl(Git) for package: git-1.8.2.1-1.el6.x86_64 –> Processing Dependency: perl(Error) for package: git-1.8.2.1-1.el6.x86_64 –> Running transaction check —> […]

gitlab:如何不破旧的gitoliteurl

我正在从gitolite迁移到gitlab。 我的原始存储库有像: [email protected]:project-gui和[email protected]:project-libs 。 Gitlab强迫我使用如下的URL: [email protected]:project/gui和[email protected]:project/libs 。 我不想强制更改现有克隆中的文档和远程URL。 有没有办法让我可以允许顶级回购,代理或URLredirect这些回购?

允许用户访问单个Git存储库

考虑一个托pipe几个Git仓库的服务器: $ ls -l /opt/git/ drwxrwxr-x 7 ubuntu root 4096 Jan 2 2014 george.git drwxrwxr-x 7 ubuntu root 4096 Dec 29 2013 john.git drwxrwsr-x 7 ubuntu root 4096 Jul 4 2013 paul.git drwxrwsr-x 7 ubuntu root 4096 Jun 30 2013 ringo.git 到目前为止,所有的开发者都可以通过SSH访问所有的Git仓库。 我现在添加一个只能访问john.git的开发人员。 我创build了一个Linux用户yoko但我不知道如何让/opt/git/john.git以最安全的方式访问/opt/git/john.git目录,而不让他访问/opt/git/的其他目录。 限制访问的规范方式是什么? 我的意思是把john.git做成组foobar并把这个组添加到用户yoko的组中。 但是,如果我以后需要添加另一个可以访问两个回购的用户,会发生什么? 例如,我可能希望添加用户cynthia以同时访问john.git和paul.git 。 我应该为每个Git回购有一个单独的组? 我可以看到很快变得笨拙 请注意,这些用户只能访问除自己的/home/user/目录之外的任何内容,另外还可以访问允许的Git仓库。 如果有一种方法将/home/yoko/john.git符号链接到/opt/git/john.git中,以防止访问剩余的/opt/git/这将是最好的,但是我似乎无法configuration系统。 服务器运行的是Ubuntu Server […]

在Ubuntu Server 14.04中安装GitBlit GO服务

我下载它(版本1.6.0),解压缩到/ opt / gitblit(ubuntu服务器14.04.1),configurationhttp到8280和禁用https分配0(我公开它通过https使用nginx)。 我创build了gitblit用户,并通过运行: sudo adduser gitblit sudo ( gitblit用户有一个强密码)将其添加到“sudo”组中。 我通过运行: /opt/gitblit/install-service-ubuntu.sh将其作为服务安装。 我试图通过运行启动它: sudo service gitblit start 。 显示消息正在Starting gitblit server 。 这是唯一的信息。 当我在同一台本地机器上( http://127.0.0.1:8280 )连接时,无法build立连接。 当我运行sudo netstat -anp | grep 8280 sudo netstat -anp | grep 8280 ,没有出现。 我看不到错误消息,但服务器没有启动。 问题 :我错过了什么?

如何防止使用login用户名的git

我想让任何用户克隆存储库而不必在clone命令中指定用户名 。 例如,说我的git用户名是john.doe (例如客户的要求),但是我在个人电脑上login的本地帐户是j.doe (例如公司要求),git会尝试使用j.doe来克隆版本库。 这是相当微妙但显着的不同,所以我用下面的两个例子来说明: 1.用匿名语法克隆: 如果我做到以下几点: j.doe~ $ git clone https://mygit.repo.url/somerepository.git … git假设没有要求远程用户名是本地帐户(即j.doe )的用户名相同,并尝试克隆如下: Cloning into somerepository [email protected]'s password: 但在这种情况下, j.doe不是远程存储库上的帐户。 2.用明确的用户名克隆: 通常的解决方法是按如下所示指定远程用户名: j.doe~ $ git clone https://[email protected]/somerepository.git 这成功,但要求每个用户使用不同的克隆命令。 为什么我在乎 有几种情况下匿名语法更合适,例如: 它更便于自动化 – 无需编写操作系统或语言特定的input语句来获取用户名。 这对用户来说更加一致。 用户/密码请求将始终看起来相同。 这使得编写清晰一致的安装说明变得更加容易。 用户可以复制和粘贴。 防止为每个尝试自动执行该过程的脚本语言和操作系统编写不同的包装。 当检出一个依赖于git子模块的仓库时,如果login用户与git用户不一样,那么.gitmodules文件必须首先被编辑以包含用户名。 这在多个用户的情况下是非常不方便的。 例如。 我知道这个function是可能的,因为github使用它。 例如,如果您使用匿名语法在github上克隆存储库,您将看到如下内容: j.doe~ $ git clone https://github.com/dbostock/d3.git Cloning into 'd3'… Username […]

Redhat的OpenShift – 连接拒绝致命:远程端意外挂断

我试图开始使用Redhat的OpenShift与JBoss 7服务器墨盒,但正如我想做一个git克隆我得到: $ git clone ssh://username_from_openshift@application_name-host_name.rhcloud.com/~/git/application_name.git/ /development/repos/openshift/ Initialized empty Git repository in /development/repos/openshift/.git/ ssh: connect to host application_name-host_name.rhcloud.com port 22: Connection refused fatal: The remote end hung up unexpectedly 现在我在一家公司做这个,我正在使用它的代理来访问这台机器上的互联网。 我正在运行Linux CentOS版本6.5(最终) 。 我尝试在〜/ .ssh /中添加一个“config”文件 ,内容如下: Host application_name-host_name.rhcloud.com ProxyCommand nc -X connect -x my_company_proxy.com:8080 %h %p ServerAliveInterval 10 然后在尝试执行git clone命令时收到此消息: $ git clone ssh://username_from_openshift@application_name-host_name.rhcloud.com/~/git/application_name.git/ […]

作为一个不同的用户运行jenkins

我遵循http://blog.manula.org/2013/03/running-jenkins-under-different-user-in.html以我自己的用户帐户运行Jenkins,因为它的默认系统用户没有权限克隆从我们的git仓库。 但是,当我在/etc/default/jenkins文件中将jenkins的用户标识更改为我的uid时,出现服务不可用503错误。 我在/var/log/jenkins找不到任何错误日志。 有没有推荐的解决scheme?

git -http-backend和LDAPauthentication,推送错误:请求的URL返回错误:401授权必需

我的设置 操作系统:debian git:v 1.7.10 apache(与suexec模式启用)configuration与git-http-backend和LDAP授权git回购这适用于克隆操作,但不适用于推,这就是问题。 我使用HTTPS作为我的git服务器的通信协议。 这是我的configuration: VirtualHostconfiguration: <IfModule mod_ssl.c> <VirtualHost _default_:443> DocumentRoot /git/myrepos <Directory "/git/myrepos"> Allow from All Options +ExecCGI AllowOverride All </Directory> ScriptAlias /git /git/myrepos/bin/suexec-wrapper.sh SSLEngine on SSLCertificateFile /etc/ssl/git.crt SSLCertificateKeyFile /etc/ssl/git.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> /git/myrepos/bin/suexec-wrapper.sh: #!/bin/bash PATH_INFO=$SCRIPT_URL GIT_PROJECT_ROOT=/git/myrepos REMOTE_USER=$REDIRECT_REMOTE_USER export GIT_HTTP_EXPORT_ALL=true /usr/lib/git-core/git-http-backend 克隆回购的工作,因为它应该(例如git clone https://192.168.0.1/repo1.git )。 […]