Articles of git

避免硬编码服务器configuration

我正在开发一个Rails应用程序,而且我即将开源。 我将它部署到一个VPS服务器,使用nginx和unicornconfiguration,遵循这个RailsCast 。 为了使Capistrano,Nginx和Unicorn能够正常工作,我不得不在configuration文件夹中添加一些服务器configuration文件,例如deploy.rb , nginx.conf , unicorn.rb和unicorn_init.sh 。 我正在使用一个Git仓库,一切工作在master分支。 换句话说,Capistrano将其从服务器上拉出来,而且这就是我要开源的分支。 不过,我不希望我的服务器configuration文件是公开的。 什么是最好的解决scheme? 我是否应该将它分叉并设置一个存储库作为官方公共存储库,并将另一个作为我自己的版本,并将官方存储库设置为我的上游? 或者最好将我的configuration参数设置为环境variables,并将configuration文件保留在存储库中?

使用nginx与服务器上的Git

我正在寻找手册如何设置与Nginx服务器上的Git ,我还没有find它。 我已经用root用户login到服务器,安装了git-core,并创build了一个裸回购。 下一步是什么? 如何使这个特殊的http链接到这个回购从许多计算机连接到回购,并使克隆开始工作?

如何通过HTTP协议设置git钩子来自动化远程服务器上的开发

我正在使用git进行版本控制,我想要自动化git以将任何协作者自动将发布分支推送到远程服务器,如果我想通过ssh执行此操作,则必须将所有协作者ssh-keys添加到我的服务器,但我不想让他们访问服务器,所以我想通过HTTP设置这个git挂钩,以便每个人都可以通过HTTP协议推送到远程服务器 到目前为止我所做的是设置一个git钩子,并且使用Nginx作为web服务,并且把裸露的git仓库 /var/www/html/test_repo 我在本地计算机上设置了我的git remote: git remote add test http://ServerIp/test_repo 但它给了我这个错误: fatal: repository 'http://ServerIp/test_repo/' not found

git push to nginx + git-http-backend:error:无法访问URL http返回码22致命:git-http-push失败

我在Ubuntu 14.04(使用nginx / 1.4.6 + git -http-backend + fastcgi:fcgiwrap 1.1.0-2)configuration我的git repos来通过http服务。 但遇到以下错误。 # git push origin master Username for 'http://server.com': git Password for 'http://git@gittest.cloudthis.com': error: Cannot access URL http://server.com/rahul.git/, return code 22 fatal: git-http-push failed 我的nginx网站的configuration如下。 server { listen 80; server_name server.com; root /var/www/git/repos; include /etc/nginx/fcgiwrap.conf; # Added as a support for cgi auth_basic "Welcome […]

对于大型的GitLab fork来说,Nginx的502错误网关

我通过Nginx运行GitLab 6.0.0,并可以分叉小型库,但是当我尝试fork一个大型的存储库(2GB)时,大约一分钟后我看到一个“ 502 Bad Gateway ”页面。 /var/log/nginx/gitlab_error.log显示: 2013/08/29 12:21:33 [error] 25098#0: *221 upstream prematurely closed connection while reading response header from upstream, client: 12.34.56.78, server: myserver, request: "POST /mygroup/myproject/fork HTTP/1.1", upstream: "http://unix:/home/git/gitlab/tmp/sockets/gitlab.socket:/mygroup/myproject/fork", host: "myserver", referrer: "http://myserver/mygroup/myproject/fork"

Capistrano + NGINX Passenger Restart Rails应用程序

我终于得到了capistrano在我的网站工作,但是,我似乎无法让应用程序的重新启动部分工作。 我想要的是设置capistrano重新启动部署完成后运行rails应用程序的杂种群集。 由于我乘客安装了一切,我不知道如何重新启动杂种群。 有谁知道如何做到这一点? 在我读过的每个教程中,它都提到在应用程序的/ tmp文件夹中应该有一个restart.txt文件,但是找不到解释如何重启它的任何内容……或者在文件中放置什么。

推送到负载均衡器上的多个EC2实例

我试图找出一个很好的方法来推出一个新的提交到ELB(负载平衡器)后面的一组EC2服务器实例。 每个实例都运行Nginx和PHP-FPM 我想执行以下工作stream程,但是我不确定是否推出新版本到负载均衡器后面的所有实例的好方法。 开发是在本地机器上完成的 一旦更改准备就绪,我执行“git push origin master”将更改推送到BitBucket(我托pipe所有git仓库) 在推到bitbucket之后,我想将新版本同时推送到所有的EC2实例。 我想这样做,而不必SSH到每个实例(显然)。 有没有办法configuration远程服务器接受远程推送? 有一个更好的方法吗?

GitLab后缀configuration邮件不发送

我在我的Ubuntu 12.04服务器上安装了GitLab。 现在我可以作为pipe理员login,做一些东西,但是,我的问题是电子邮件似乎不workin。 我需要确认发送到我的地址的确认电子邮件。 我按照自述的说明安装了postfix。 我如何testing我的后缀或configurationGitLabconfiguration。

如何将工作目录“附加”到裸GIT存储库

我已经embedded了我们要在Git中存储的Linux系统。 我已经在系统上安装Git,安装额外的USB驱动器来存储Git数据(裸仓库)。 使用如下命令提交并推送到远程存储库没有问题: cd /media/usb git init –bare git –work-tree=/ add -A git –work-tree=/ commit git –work-tree=/ push -u origin master 但是,当我将裸仓库克隆到新的USB驱动器,并调用git –work-tree=/ status我看到所有以前推送的文件被删除,未跟踪。 如何告诉Git使用工作树?

在Git别名中跳出$ num

我试图给一个简单的藏匿别名,所以我可以做git load <stashname> ,沿着这一行: load = !git stash list | grep ' $1$' | awk '{ print $1 }' | sed '$ s/:$//'; echo 不幸的是,awk的$1也被replace为存储名称。 我怎样才能逃脱这个$符号? 试过\$ ,但git说: fatal: bad config file line 33 in /home/alvaro/.gitconfig