Articles of git

控制回车git输出

上下文我制作了一个简单的函数,在每个子目录中执行一个git pull : function gprall() { for d in */; do [ -d "$d/.git" ] && (cd $d; echo -n "$(pwd) : "; git pull ; cd ..); done } 它工作得很好,脚本的输出是这样的: /Users/bric3/oss/mockito : Rebasing (1/1) Successfully rebased and updated refs/heads/master. /Users/bric3/oss/grpc-demos : Rebasing (1/1) Successfully rebased and updated refs/heads/master. … 然后在git 2.12或2.13的发布周围输出变成: Successfully rebased and […]

通过内部ELB从EC2克隆大型Git回收时遇到的问题

我们在EC2中通过内部ELB克隆大量的Git仓库时遇到了问题,但是它在绕过ELB时起作用。 以下是Git客户端的输出: * transfer closed with outstanding read data remaining6.36 MiB/s * Curl_http_done: called premature == 1 * Closing connection 0 error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed 我在AWS论坛上提出了类似的问题,但似乎没有人知道这个问题。 最初的线程是在这里 – https://forums.aws.amazon.com/thread.jspa?threadID=258572任何人都可以帮助我们解决这个问题,请? 更新(从论坛) :我们增加了连接排水超时从默认20s到300s,之后,它似乎是通过ELB的作品。 我们需要运行更多的testing。 这个改变是否可以触及其他内部设置?

jenkins:build立一个没有build立所有项目的子模式

我正在设法做下面的事情(应该很简单,但是我找不到办法,对不起): 我有一个与几个git子模块的大项目。 当对子模块进行更改时,我希望此子模块在不构build全部项目的情况下构build。 这是可能的吗? 提前致谢

Dockerfile使用ssh和deploy密钥从私有gitlab克隆

(编辑)这个问题也发生在我的笔记本电脑使用根和我的用户,这可能会得到问候,当试图用SSH用户。 然后尝试了一下这个可靠的手册,它也提出了回购的错误。 试过另一个,克隆完美无瑕。 这个问题似乎并不是用git,docker或者ssh,而是用gitlabconfiguration。 在一个Dockerfile上,我正在尝试运行gitlab的公司服务器上托pipe的私有存储库,并使用非标准的ssh端口进行设置 。 这是我期望运行(在sshconfiguration文件中的一些参数旁边) RUN git clone [email protected]:GroupName/repo_name.git 我已经检查过的东西: 回购有一个部署密钥,它是活跃的。 使用Ansible而不是Docker进行自动化,可以连接和克隆仓库。 密钥名为id_rsa,它位于〜/ .ssh / 试过用ssh-agent,似乎没问题(虽然我在configuration文件中指定,不需要它) Identity added: /opt/.ssh/id_rsa (/opt/.ssh/id_rsa) 〜/ .ssh / config具有以下内容: Host * StrictHostKeyChecking no PubkeyAcceptedKeyTypes +ssh-rsa PasswordAuthentication no User git ForwardAgent yes Identityfile /opt/.ssh/id_rsa # /opt is the home of the user RUNning the command in docker port 22022 […]

具有ExecStartPre = git的SystemD服务

我怎样才能cd /path/to/repo && git pull在systemd服务的ExecStartPre部分?

git log输出在input文件时会丢失 – 我错过了什么?

我试图通过命令行获得一些有关git提交的信息,作为我正在构build的一个更大的自动化工具的一部分。 我想要的信息可以通过这个git log命令获得: git log –branches –graph –oneline –parents 它产生这个输出: 这太好了,因为它具有我想要的哈希和标签,以及提交消息。 但是,当我把这个文件传给一个文件的时候,括号内的内容似乎不知怎么就丢了。 我对颜色不是太感兴趣,但是我确实需要纯文本,就像我期望从任何类似nix的程序那样。 这是我似乎得到的输出,它省略了一些我想要的输出(例如,标记信息): 我不知道如何或为什么这个信息在pipe道上丢失。 我觉得这可能是非常简单明显的事情。 我遇到了同样的问题,无论是在Arch Linux上的Bash(使用最新版本的git)还是​​在Windows中的MINGW64 Bash环境中都这样做。 问题:如何在不丢失pipe道到文件时丢失的信息的情况下,完全捕获git日志的输出?

在OS X上从源代码安装git – exec-path错误

我试图从源使用安装git make prefix=/Users/gareth/local/git install 但安装后没有任何工作正常,命令都失败,例如 git: 'pull' is not a git-command. See 'git –help'. 经过一番研究,我发现最明显的问题是这个输出: $ git –exec-path /Users/gareth 但我不知道为什么exec-path被设置为我的主目录。 二进制文件都在似乎是正确的地方~/local/git/libexec/git-core/git* 我怎样才能解决出了什么问题,以及如何解决?

哈德森部署特定的git修订

我正在使用哈德森来自动部署我的Rails应用程序到heroku。 在我的主要构build工作中,我从一个Git仓库(在同一台机器上使用gitosis进行托pipe)中抽取主分支,其中包含以下内容: URL of repository: /home/git/repositories/my_app.git Name of repository: origin Refspec: +refs/heads/master:refs/remotes/origin/master Branches to build: master 然后,假设所有的testing都通过了,我想启动一个新的部署到Heroku。 我不知道如何让这个部署版本检出这个版本正在使用的特定版本。 我知道有一个参数化的触发器插件,可以让我通过这个版本号,但我不知道如何告诉哈德森在部署版本上签出这个特定的版本。 我很确定这只是与我有限的git知识有关,但在哈德森gitconfiguration的有哪些选项来检出特定的修订? 否则,当构build发生时,我可能会发生许多提交,并且在启动部署构build时,该构build只会检查分支的HEAD,这可能与触发的代码不同这个构build。 我不完全明白为什么我在哈德森有一个refspec,然后指定一个分支来build立,我认为这是同样的事情。 可以refspec以某种方式指定修订号码? 如果通过参数化的触发器插件传递,这将如何引用? (我从来没有使用过这个插件,但是别人推荐这个插件作为一种方式来把一个新的版本传递给我,如果还有另外一种方式的话)

gitnetworking小团队

我正在为我的编程团队设置git。 我的设置是: 1. example.com (Ubuntu server) IP: 192.168.1.2 (public: xxx.yyy.yyy.zzz) main git repository in /var/www/testgit user: mot (root) 2. host2, Ubuntu IP: 192.168.1.101 git clone of main repo in ~/public_html/testgit1 user: nairda 3. host3, Ubuntu IP: 192.168.1.102 git clone of main repo in ~/www/testgit2 user: mot 4. host4, Windows Vista, Samba, msysgit IP: 192.168.1.103 git […]

Gitosis Mac OS X(雪豹)

我有一个雪豹盒,我已经安装了gitosis(警告:noob alert),添加了一个git用户,我可以用ssh远程login到机器。 在本地,我可以“克隆”我创build的存储库,因为我也可以“克隆”gitosis-admin。 完美的作品。 我使用'git'用户克隆这些。 git clone git@my-remote-machine:reponame.git 远程login,什么不工作: git clone git@localhost:reponame.git 但是,在存储库所在的同一台远程机器上,我无法从本地主机进行克隆。 它要求input一个密码,据我所知,密码没有被创build。 我究竟做错了什么? 谢谢您的回复!