Articles of git

GIT网站Delopyment包含子模块

所以我得到了一个GIT仓库和一些子模块。 现在,我在我的networking服务器上创build了一个“更新后”的挂钩,自动部署我的网站更新。 这就是我的post-update钩子的样子: #!/bin/sh rm -rf /home/my_user/public_html/my_website/* unset GIT_INDEX_FILE export GIT_WORK_TREE=/home/my_user/public_html/my_website/ export GIT_DIR=/home/my_user/gitrepos/my_website.git git checkout -f 除了submodules目录没有被导出的事实之外,一切正常工作…这就是我的问题。 我怎样才能部署一个GIT仓库和它的子模块通过后更新钩? 提前致谢!

为什么我一直使用Git获取不好的索引文件

我不断收到以下错误: error: bad index file sha1 signature fatal: index file corrupt 而且我知道短期解决scheme只是删除索引,而你走,但我的问题是,为什么它继续发生? 我没有运行任何types的公用事业(我知道),硬盘有足够的磁盘空间。 由于本周发生了两次,所以我有点担心。 这可能是HD失败的标志吗? (编辑)更多信息 git repo是在我通过SSH从OSX访问的ubuntu服务器上的。 我也使用Samba的Sublime文本来访问代码库。 我已经禁用了Sublime文本Git插件,我相信这可能是导致问题的原因。 这并没有发生,但我也没有任何证据。

理想的gitweb安装robots.txt?

我使用gitweb(和gitolite)在git.nomeata.de上托pipe了一些git仓库。 有时,一个search引擎蜘蛛出现,并开始敲击界面。 虽然我通常希望我的git存储库在search引擎中显示,但我不想完全阻止它们。 但他们不应该调用昂贵的操作,例如快照存档,search或生成差异。 什么是这样的安装“最好的” robots.txt文件?

CGI的权限与NGINX和FastCGI

我在运行GitLab的服务器上运行GitWeb(本质上是一个CGI脚本)。 我的目标是在不注册人员的情况下提供对GitLab存储库的只读访问权限。 我已经把GitWeb指向了有权限drwxrws—拥有者:group git:git存储库文件夹。 FastCGI包装与用户运行:组www-data:www:data ,所以我添加了www-data组www-data 。 我也通过改变这个用户来validationwww-data到版本库的访问。 但是,当我运行GitWeb时,CGI脚本无法访问存储库,无法获取我的存储库列表。 一切工作正常,如果我将rx权限添加到其他部分(最后三重),但我不想混乱的文件夹的权限,因为显而易见的原因。 顺便说一句,我运行Debian稳定,并没有安装SE-Linux或类似的东西。 任何帮助将不胜感激。

Opsworks自定义层部署

我正尝试在AWS Opsworks中使用自定义图层来添加nginxnetworking服务器。 我已经成功创build了图层,我通过GIT(回购没有密码)添加了我的应用程序,但是当我部署命令是“成功的”,但是在我的服务器上没有看到我的任何代码。 在自定义层中,唯一的部署configuration是“deploy :: default”。 我是否需要自定义配方来处理部署? 这是通过定制食谱(如果是这样,有人可以帮我一个例子) 另外,如何configuration部署的“哪里”? 我宁愿select我的文档根目录,而不是使用Opsworks的其他位置总是部署到的位置。 感谢您的任何帮助。

使用远程PowerShell执行git命令会导致NativeCommmandError

执行远程PowerShell脚本时出现错误。 在本地机器上,我正在运行PowerShell脚本,该脚本使用Invoke-Command来切换到远程Amazon Windows Server实例上的目录,并使用后续的Invoke-Command来执行位于该服务器实例上的脚本。 服务器上的脚本试图从GitHub克隆一个存储库。 我可以成功地在服务器脚本中做“ls”甚至是“git –version”。 然而, git clone , git pull等会导致以下错误: 克隆到'MyRepo'中… + CategoryInfo:NotSpecified :(克隆到'MyRepo'…:String] [],RemoteException + FullyQualifiedErrorId:NativeCommandError 这是我第一次使用PowerShell或Windows Server。 任何人都可以提供这个问题的一些方向。 客户端脚本: $s = new-pssession -computername $server -credential $user invoke-command -session $s -scriptblock { cd C:\Repos; ls } invoke-command -session $s -scriptblock { param ($repo, $branch) & '.\clone.ps1' -repository $repo -branch $branch} -ArgumentList […]

更新到GIT 2.0.1

我已经安装了从源代码编译的git 2.0.1。 它运作良好。 # cd git-2.0.1 # make prefix=/usr/local/git all # make prefix=/usr/local/git install # echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc # source /etc/bashrc #git –version showed 2.0.1 现在,当我安装开发工具 yum安装“开发工具” 它安装了git 1.7.1。 我的pathvariables是: /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.7.0_40/bin:/root/bin:/usr/local/git/bin:/root/bin:/usr/local/git/bin:/usr/local/git/bin:/usr/local/git/bin:/usr/local/data/softwares/git 我againg试图安装git 2.0.1,但alwasy shows1.7.1。 如何将git更改为最新版本安装并删除旧的git。

在Git钩子中使用sudo在部署后设置权限

我在Ubuntu上运行了几个站点,并按照如下方式设置了一个新的部署工作stream程(该示例使用了登台环境): 在我的开发机器上,我做git push staging ,将其推送到一个裸仓库,并触发post-receive钩子,这是做这些事情: 在单独的文件夹中签出项目 备份当前部署的目录 用rsync部署文件 使用post_deploy.sh脚本设置适当的权限 以上工作正常,除权限设置部分。 由于我需要使用sudo来执行chgrp和chown ,所以我尝试将以下内容添加到/etc/sudoers : myusername ALL=(ALL:ALL) NOPASSWD: /path/to/post_deploy.sh 但是当执行git push我得到这个错误: remote: sudo: no tty present and no askpass program specified 如果我直接从部署的服务器运行post_deploy.sh ,我没有任何问题。 我怎样才能从git钩子运行post_deploy.sh脚本? 我不介意input一个额外的密码,但是从我读的askpass的东西不是命令行(我是吗?)。

我可以使用gitlab监视现有的回购站,保留旧的裸giturl吗?

我在我的服务器上安装了Gitlab,我不知道我愿意做什么是可能的。 我想设置Gitlab来监视我的回购站,附带所有的好东西,但我不想使用gitlaburl,因为我不想强迫所有开发者使用回购。 Gitlab自己的“导入”function似乎创build自己的url,所以这不会是我正在寻找的。 我的问题是:有没有办法使用旧的裸giturlgitlab?

木偶:如何从Debian wheezy-backports安装git软件包?

我正在使用Apt模块( https://forge.puppetlabs.com/puppetlabs/apt ),并为Debian wheezy backports存储库添加了一个条目: apt::source { 'wheezy-backports': location => 'http://ftp.de.debian.org/debian', release => 'wheezy-backports', repos => 'main', include_deb => true, include_src => true, notify => Exec['apt-get-update'], } 我可以成功安装wheezy-backports中可用的软件包,但不能在默认存储库中安装,因此我认为configuration本身是正确的。 使用apt-get install git -t wheezy-backports安装从backports手动安装apt-get install git -t wheezy-backports也可以。 但是,我如何强制Puppet从wheezy-backports而不是默认的存储库检索一个包? 具体来说,我想安装在wheezy backports中的git-1.9.1-1 package { "git": ensure => "1:1.9.1-1~bpo70+2", } 失败。 package { "git": ensure => "latest", } […]