Articles of git

使用gitosis来pipe理大量存储库的最简单(和最简单的)方法是什么?

我正在使用gitosis来pipe理一堆私人存储库。 一切都很好,我也没有问题,我们如何添加存储库。 问题是,我们有相对较less的开发人员,但有很多的仓库,特别是因为我们的项目之一使用git submodules相当重。 这意味着gitosis.conf已经开始变得笨拙了,我想知道是否有办法整理它。 目前我们使用的是: [group developers] writable = repo1 repo2 repo3 (…) repo20 repo21 repo22 members = dev1 dev2 而当我们想要另一个回购时,我们将其添加到可写清单的末尾。 问题是,这份名单已经越来越难读了,我们甚至还没有完成所有的项目。 我知道这是真正的挑剔,否则是一个很好的设置,但我只是想知道如果有人有任何方便的提示或技巧分享更好的方式来组织的gitosis.conf 干杯

我们可以使用被子推送/添加到本地git存储库吗?

我们可以使用被子推送/添加到本地git存储库吗? 如果是的话,请帮助我指定命令,任何URL /链接将是巨大的帮助。 提前致谢。

Git拉没有input私钥密码

我将在我的testingnetworking服务器上为git pull更改设置一个cronjob。 但是,我的私钥有一个密码,我怎么能通过它作为参数? git pull something mypassword 我愿意在一个cronjob上使用它,我不想离开没有密码的私钥。 谢谢

git显示在Mac NFS文件系统上更改的随机文件

在工作中我们有一个奇怪的问题,我一直无法弄清楚。 我们都在我们的台式机上使用带有Snow Leopard的MacBook,而且我们也有一些远程使用的Linux服务器。 我的一些团队成员将git仓库放在Mac和Linux服务器之间共享的NFS文件系统上,因此他们不必考虑在其个人工作stream程中共享仓库之间的代码。 这是奇怪的开始的地方,在OSX机器上,当你尝试合并或切换分支等时,git会随机地显示一些过期的状态文件。如果你运行git status没有显示过期的文件。 gitk会显示文件被修改,但不会以同样的方式提交状态正常。 如果你reset –hard那些文件,你有时可以改变分支之前,这种情况,但大多不是。 如果您login到其中一台Linux机器并查看同一个存储库,那么一切正常。 这些文件没有标记为已更改,你可以做任何你喜欢的。 我已经消除了线结束差异和文件模式差异作为罪魁祸首,但我不知道还有什么要尝试。 是否有一些OSX特定的NFS交互,我们必须以某种方式工作?

我怎样才能设置一个别名为“git last”接受一个数字作为参数?

在Pro Git中,Scott Chacon给出了一些可能有用的别名的一些很好的例子,其中包括显示最后一次提交的一个别名 : git last ,相当于log -1 HEAD : git config –global alias.last 'log -1 HEAD' 它会显示这样的事情: $ git last commit 66938dae3329c7aebe598c2246a8e6af90d04646 Author: Josh Goebel <dreamer3@example.com> Date: Tue Aug 26 19:48:51 2008 +0800 test for current head 我在堆栈溢出上读了一些类似的问题,比如将一个parameter passing给一个Git别名命令,但是还没有弄清楚。 我能想到的最好的办法是修改我的.gitconfig文件,如下所示: [alias] last = log -1 HEAD mylast = "!sh -c 'echo /usr/local/bin/git last -$0 […]

添加用户到Gitolite,权限被拒绝

我有一个在EC2上运行的Gitolite服务器,工作得很好。 我之前添加了用户,添加存储库没有任何问题。 我的Macbook Pro可以将代码推送到一个没有问题的存储库(它具有RW+的回购权限)。 我还添加了第二台计算机的存储库与R权限,所以我可以克隆它。 问题是,当试图克隆回购时,我总是收到“Permission Denied(公钥)”。 当我与Gitolite SSH服务器,并看看用户“git”的authorized_keys文件,我看到第二台计算机的公钥,所以我不知道是什么问题 – 它看起来像它越来越添加得很好。 第二台计算机的公钥也位于keydir下,其名称( keydir ) 这是我的gitolite conf,为了保护隐私,改变了一些信息: repo statistics-app RW+ = andrew R = raspberry 注意:“安德鲁”可以推销代码和克隆回购很好,但用户“树莓”不能。 什么问题?

在pre-commit hook shell脚本中检查git状态

我正在写一个Git预先提交的钩子客户端脚本,我想过滤通过提交的文件,并与删除的东西做一些事情。 我发现用下面的代码我可以用下面的代码遍历提交中包含的所有文件。 #!/bin/sh for file in $( exec git diff-index –cached –name-only HEAD ) do echo $file done 要find删除的文件,我相信我可以使用git status –porcelain <file>因为当文件被删除时,它将第一个字符显示为D 所以我需要的是帮助制定语法来检查git status –porcelain <file>的输出中的第一个字符是否是D #!/bin/sh for file in $( exec git diff-index –cached –name-only HEAD ) do # This line doesn't work but it's the best I've came up with. if git status […]

Git部署回滚工作stream程

使用git处理越来越多的服务器端文件部署。 这是很好的,有很多指导可用如何使用git,rsync和其他设置您的部署工作stream程。 不过,我想问问什么是最简洁的方式来设置部署回滚,所以 每次部署时,都要在部署之前logging最新状态(无需通过手动读取日志来查找提交) 在部署情况下,git命令用于回滚到之前(logging的)状态的后果是无法预料的 问题的范围是Linux服务器,shell脚本和命令行git。

gitlab如何简化授权ssh密钥的工作?

在使用git时,为了授权开发者,我们要求他们提供他们的公共ssh密钥,然后将他们标记为授权。 通过gitlab,开发人员可以通过帐户界面保存他们的ssh公钥。 授权部分如何处理!? 请尽快回复。

如何在git中自动化工作stream程?

现在我这样做: git commit -a -m "comment" 然后(到bitbucket.org) git push 然后(通过FTP托pipe) git ftp push 我想要自动运行这些命令: git fix "comment" 或者: gitfix "comment"