Articles of git

新用户无法连接到amazon aws上的gitolite / git

以下是我在amazon aws上设置gitolite上新build用户的步骤:1.安装gitolite(作品 – 我可以以pipe理员身份连接并添加新的回购/用户) 我在gitolite-admin的conf文件中添加了一个testing回购和一个新用户。 新用户创build了一个名为newUser的新ssh密钥 – newUser.pub被添加到gitolite-admin中的keydir 新用户可以使用专用于Amazon实例的证书通过ssh连接到Amazon AWS实例 我跑了以下几点: git add -A git commit -m'添加新的repo和用户'git push origin master 答复提到新用户和回购已经生成。 但是,当用户连接时,ssh无法validation。 我运行ssh -vvv作为git实例,即ssh -vvv git @ server name(其中服务器名称是amazon实例)。 我可以看到ssh尝试没有select新的公钥,而是尝试使用较旧的id_rsa.pub文件。 我现在将尝试强制SSH使用新的密钥 – 任何其他build议,以帮助排除故障将不胜感激! 编辑:谢谢@VonC回应。 我已经复制了以下用户的授权密钥信息: command="/usr/share/gitolite/gl-auth-command adavid",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa keyinfo [email protected] 其中adavid是用户添加的,abcdavid是用户计算机上的用户ID&192.168.1.3是用户计算机的本地地址。 第二编辑 : 我有用户添加一个configuration文件以及: Host test.git.com HostName amazon host name User adavid (where adavid is […]

简单的Apache2mod_proxy后台服务器

你好我想弄清楚Apache中的mod_proxy访问运行Gitorious的虚拟机上的后端Web服务器。 我已经看过例子,并尝试过,但我仍然无法弄清楚。 目标是在server.mysite.net/gitorious访问后端虚拟服务器时转发用户。 我已经将以下内容添加到我的configuration文件中,但是当我重新启动apache时,出现“无效的命令ProxyPreserveHost”错误。 ProxyPreserveHost On ProxyPass /gitorious http://192.168.1.168 ProxyPassReverse /gitorious http://192.168.1.168

Git智能HTTP(S)与URLredirect,无法正常工作

我正在GitList (Git的PHP web浏览器)和GIT智能HTTP(S)在同一域git.domain.ext下。 以下是实际设置: GIT智能HTTPurl格式为git.domain.ext / git / reponame.git GitList通过git.domain.ext / gitlist来提供 到现在为止还挺好。 一切正常。 我想达到的是以下几点: 任何forms的git.domain.ext / *。git的请求应该改为git.domain.ext / git / *。git 任何其他请求应该默认为git.domain.ext / gitlist 以下是我的Apacheconfiguration: <VirtualHost *:443> ServerName git.domain.ext DocumentRoot /home/user/www/git.domain.ext SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER SetEnv GIT_PROJECT_ROOT /home/user/git/ SetEnv GIT_HTTP_EXPORT_ALL ScriptAlias /git/ /usr/lib/git-core/git-http-backend/ <Location /> AuthName "Git Authentication" AuthType Basic Require valid-user AuthUserFile /home/user/git/.htpasswd </Location> <LocationMatch […]

如何解决这个错误:“ssh_exchange_identification:连接被远程主机closures”

错误: ssh_exchange_identification:由远程主机closures的连接 有很多提出的解决scheme,但似乎没有解决我的问题。 这是我想要完成的: 我有一个服务器(10.0.0.5)的SSH上。 服务器有以下用户及其shell: passport , shell=/bin/false user1, shell=git-shell user2, shell=git-shell me, shell=bash sshd_config文件的末尾有以下条目: AllowTcpForwarding no Match User passport,user1,user2 AllowTcpForwarding true PermitOpen 10.0.0.5:8080 PermitOpen 10.0.0.5:22 我也启用了公钥authentication。 目标是禁止所有来自SSH的tcp转发,并且只允许上述用户在两个端口上转发: – SSH – a web server 在我的/etc/hosts.allow和.deny文件中没有条目。 我在/home/passport/.ssh/authorized_keys设置了相应的authorized_keys file (只是ssh-rsa …)。 从Windows机器上,尝试SSH: ssh [email protected] -N -L 22:10.0.0.5:22 -L 8080:10.0.0.5:8080 这工作正常,当“我尝试冲浪到http://127.0.0.1:8080 ”这意味着我的端口转发工作正常。 现在,我想尝试通过该隧道SSH并使用'user1': ssh -N [email protected] 在这一刻,我得到: […]

Git服务器SSH用户授权失败

我已经在SERVER上安装了gitlabhq。 我从客户机克隆repo时遇到问题。 不行: client> git clone [email protected]:myrepo.git /tmp/myrepo client> ssh [email protected] PTY allocation request failed on channel 0 在服务器根下,我可以成功执行命令。 gitserv> sudo -u gitlab -H git clone [email protected]:myrepo.git /tmp/myrepo Start clonnin repo 我认为这是SSH密钥的问题,但不知道该怎么办。 顺便一个奇怪的想法: 我无法从客户机login到ssh服务器 ssh [email protected] Received disconnect from my.serv.ip.add: 2: Too many authentication failures for root 但成功地从另一台服务器login。 anotherserv> [email protected] gitserv>

我如何设置Apache的.gitignore文件?

我在Apache上运行本地开发服务器。 我有一个脚本(用PHP编写)扫描我已经运行的所有本地开发站点,并告诉我哪些有未完成的项目提交给git。 当我以自己的用户git status运行git status ,git会忽略在.gitignore文件中设置的文件。 但是当我通过Apache / PHP运行命令时,这些文件不会被忽略。 我不确定我是不是很好解释,所以通过演示,我有一个三个文件夹: file1.txt file2.php file3.backup 我的gitignore包含这一行,忽略所有的备份文件: *.backup 当我手动运行git status命令时,我看到这个(备份文件被正确忽略): dave$ git status file1.txt file2.php 如果我运行exec('cd /dir/ && git status -s /dir/', $output); 从PHP,我看到: file1.txt file2.php file3.backup 备份文件显示为未版本控制的文件。 我不想在每个回购的基础上设置gitignore。 有什么办法可以让我的www数据用户使用gitignore? 或者,机器上的所有用户是否有更高级别的gitignore设置?

版本控制系统的结构 – configuration和脚本

我们正在计划为我们的服务器团队引入版本控制,以便我们可以保持我们的configuration文件和代码整洁。 服务器基础大部分是Windows和一些Linux,分布在几个大洲。 由于这个项目的主要目的是通过configuration脚本来控制(没有双关语意),并保持configfiles整齐。 我想知道是否有一些现有的最佳做法来构build存储库。 不幸的是,我的谷歌在这里失败了。 道歉,如果这已经被问到这里了。 我可以从两个存储库开始:“脚本”和“configuration文件”,然后创build子目录。 不过,我相信这已经做了很多次了,我不想重复别人的错误。 在“脚本”和“configuration文件”目录中是否有组织数据的良好规则? 至于源代码pipe理系统的select,我倾向于已经build立了适应多站点部署的分布式VC系统(git,mercurial)。 其他一些选项也很重要,例如:使用多个LDAP服务器(即AD域)中的组进行validation,以及使用Windows GUI客户端来请求Windows用户。

Git主要/枢纽网站部署:documentroot更改保存正常,但权限被拒绝子目录

遵循以Web为中心的Git工作stream程中的指示,我在Web服务器上设置了一个主要和集线器存储库,然后将集线器克隆到我的机器上。 我开始testing提交,并在文档中推送更改的文件,并且更改将显示在Web服务器的根目录上。 但是,当我试图推送一个子目录中的文件,我rec'd以下消息: remote: remote: **** Pulling changes into Prime [Hub's post-update hook] remote: remote: From /home/git/site_hub remote: * branch master -> FETCH_HEAD remote: error: unable to create file academy/testthegit2.html (Permission denied) 同样,web根目录没有权限问题,但是把一个文件放在一个子目录中,并抛出一个错误。 git用户在Apache组中,子目录是chmod 755。 这是枢纽的更新后: #!/bin/sh echo echo "**** Pulling changes into Prime [Hub's post-update hook]" echo cd /usr/local/apache/htdocs || exit unset GIT_DIR git […]

是否有可能通过SSH的完整path克隆git?

我使用的是为composer生成我的私人包列表。 不幸的是,satis拒绝接受ssh://[email protected]:port / MyRepoName.git语法。 它接受的唯一语法是ssh://[email protected]:port / home / git / repositories / MyRepoName.git (所以,添加回购的完整path)。 有了这样的语法,使用这样的URL生成packages.json: ssh://[email protected]:port / home / git / repositories / MyRepoName.git 但是,当我尝试(从我的客户机)克隆它 – 它不起作用(找不到存储库)。 我只能克隆使用short( ssh://[email protected]:port / MyRepoName.git )语法。 所以我的问题是:是否有任何configuration,我可以在服务器(Ubuntu 12.04与gitolite)或客户端(Windows7 +composer php),以克隆ssh://[email protected]:port / home / git / repositories / MyRepoName.git可能吗? 我在满意项目中创build了一个问题,但是在解决这个问题之前可能需要一段时间。 我需要使完整path的语法URL作为临时解决scheme。 任何帮助非常感谢,谢谢。

在内部服务器上安装git

我是Ubuntu新手。 我一直在关注这个设置服务器在Ubuntu机器( MyUbuntu )上configurationgit。 我创build了一个Git帐户,我的authorized_key在/Home/git/.ssh SSH-RSA AAAAB3NzaC1yc2EAAAABIwAAAQEAnXr1ZbTR / l0xlF7dbwiVUH2rf47ht2cHBCAoYigW1iSRk3DUDIp0xZDyaMfJTi3USYXrh3wODjI + U + D3eE9YXCXBDWn7k1tQFQp7QrEpgJgWhWerbLML7IV / JNEBb2k + 5dIh5KyEl13r0Umf2ZPWRhUY / tN4vT1lfjy62KKDemYNqr2zxEm / neMvL4jIY4f2uEndGuO7hgsTvXqyjvbqWHDOY3Eeprevo + 4iPG8p + G + JTkNQRlcHaL61a8FOwbDbA0xrNWgiHSIQaBDH + tK3xzqLwRjhcQPnwu / 0AZ2u7 / 1EQ + ntaGWJX + zgRR3 + kFzadL8wkgBRtCHUrmximHRTvw == [email protected] 密钥是从Windows PC( MyWindows )生成的,并且两台机器连接在本地networking中(可以相互ping通)。 我在myubuntu中的myubuntu创build了一个git repo。 我试图在mywindows上创build一个分支,并推送到myubuntu git remote add origin git @ myubuntu:/opt/git/project.git […]