Articles of git

将多个svn版本库迁移到一个git版本库中

我们希望永远从svn迁移到git,以便能够在分支和协作方面使用git的更好function。 我们目前的svn仓库看起来像这样 svnrepo/ frontend/ trunk branches/ ng/ … tags/ 1.x … backend/ trunk branches/ ng/ … tags/ 1.x … 工作布局是我们签出前端项目,在这里,我们创build一个后端文件夹,并签出后端项目。 我们现在想要迁移到git,并放弃前端和后端之间的分裂(就分开的项目而言),因为这给我们带来了更多的问题而不是优点。 我们希望他们都在一个单一的仓库。 我想使用svn2git进行转换。 不幸的是最新的发展发生在一个分支,而不是在树干,但我认为这不应该是svn2git的问题。 所以新的git仓库布局应该如下所示: / => svnrepo/frontend/branches/ng /backend => svnrepo/backend/branches/ng 其中=>表示“从…迁移/转换”。 对于转换,我们没有必要将所有标签和分支从svn仓库转换到git。 这对我们并不重要。 然而重要的是,我们拥有所有提交到分支/ ng目录中的所有文件的完整历史logging,并返回到主干中的分支以及在主干中发生的所有提交。 我们希望所有这些提交都是在单个git存储库中提到的布局。 这甚至有可能吗? 我们将如何做到这一点? 我已经search谷歌,也在1,2 ,但无法find我们的问题的确切解决scheme。

Cygwin,ssh和git在Windows Server 2008上

我试图在现有的Windows 2008(R2)服务器上设置一个git存储库。 我已经成功地安装了Cygwin,并且将git和ssh添加到了包中,并且一切都很完美(感谢Mark对他的文章 )。 我可以ssh到服务器上的localhost,我可以在服务器上本地执行git操作。 当我尝试从客户端,但是,我得到“端口22,错误的文件编号”错误。 详细的SSH输出仅限于此: OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007 debug1: Connecting to {myserver} [{myserver}] port 22. debug1: connect to address {myserver} port 22: Attempt to connect timed out without establishing a connection ssh: connect to host {myserver} port 22: Bad file number 谷歌告诉我,这意味着我通常被防火墙阻止。 所以,仔细检查服务器上的防火墙设置,规则是否允许端口22的stream量。 我甚至尝试过closures防火墙,行为没有改变。 我可以很好地从该客户端ssh到其他服务器。 托pipe公司发誓,没有其他防火墙阻止端口22(或任何其他端口,他们声称,但我觉得很难相信)的服务器。 我还有另外一张麻烦票,以防万一第一个支持者满了,但同时我想看看有没有人能想到其他的东西。 谢谢,保罗

在Windows上使用非标准端口在SSH上设置Git

我必须从Ubuntu切换,以便我可以全速使用Adobe Suite,现在我发现Windows上的SSH并不像在Linux上那样统一。 所以我安装了msysgit和腻子,但我发现git使用SSH的腻子有问题。 (我没有在Windowspath上安装msysgit并使用plink)。 我正在尝试通过使用/.ssh/config文件来将git项目上的远程设备添加到非标准端口上的服务器上 Host 255.255.255.255 Port 22222 然后我将数据添加到我的git仓库: git remote add origin [email protected]:~/git/repo 但是,当我尝试推我得到一个错误信息。 $ git push origin master FATAL ERROR: Network error: Connection refused fatal: The remote end hung up unexpectedly 所以然后我试着从git控制台使用SSH: ssh [email protected] 这提示我的私钥密码短语(它没有),当我失败,它要求我的SSH用户密码(工程)。 由于我打算通过密码禁用SSHlogin,我需要git开始正确使用我的密钥。

麻烦使用gitweb与nginx

我在/ home / raynes / pubgit /目录中有一个git仓库。 我正在尝试使用gitweb来为它提供一个web界面。 我使用nginx作为我的networking服务器的一切,所以我真的不想只为此使用另一个。 我主要是遵循这个指南: http : //michalbugno.pl/en/blog/gitweb-nginx ,这是唯一的指导,我可以通过谷歌find,真的是最近。 fcgiwrap显然不在Lucid Lynx的仓库中,所以我手动安装了它。 我通过spawn-fcgi产生实例: spawn-fcgi -f /usr/local/sbin/fcgiwrap -a 127.0.0.1 -p 9001 这很好。 我的/etc/gitweb.conf如下: # path to git projects (<project>.git) $projectroot = "/home/raynes/pubgit"; $my_uri = "http://mc.raynes.me"; $home_link = "http://mc.raynes.me/"; # directory to use for temp files $git_temp = "/tmp"; # target of the […]

gitolite无法执行git

我有问题设置gitolite。 服务器是Mac OS X Server 10.5.8,客户端是Mac OS X 10.6.6。 两者都运行从源代码编译的git 1.7.3.4。 我尽可能最好地遵循文档,但是它确实需要进行一次大的修改,并且在某些地方令人困惑。 我认为提交人并不认为这是冒犯的。 我使用“根方法” 安装 。 问题是当我运行最后一步时: cd; git clone git@server:gitolite-admin cd; git clone git@server:gitolite-admin 以下是客户端的情况: tom @ client $ ssh [email protected] info 你好汤姆,这里的gitolite版本是v1.5.8-22-g6bcb5c1 gitoliteconfiguration给你以下的访问权限: RW gitolite-admin @R_ @W_testing tom @ client $ git clone [email protected]:gitolite-admin 克隆到gitolitepipe理… 无法执行“git”:在/ usr / local / bin / gl-auth-command第176行没有这样的文件或目录。 […]

r10k:用git合适的合并工作stream程

我目前在无主模式下运行Puppet。 我正在使用r10k进行模块和环境部署。 简化版本:r10k控制库有两个分支: testing和生产 。 生产中的变化将被自动分配到生产服务器。 对某些分段服务器的testing更改。 现在,如果我在testing中改变事情,我有时也必须更改r10k控制库。 一个常见的例子是Puppetfile ,目前在生产中看起来像这样: forge 'forge.puppetlabs.com' # Forge modules mod 'puppetlabs/stdlib' mod 'puppetlabs/concat' mod 'saz/ssh' # Custom modules mod 'ownmodule1', :git => 'https://git.example.org/configuration/ownmodule1.git', :ref => 'production' mod 'ownmodule2', :git => 'https://git.example.org/configuration/ownmodule2.git', :ref => 'production' 自定义模块的configuration在testing分支上可能如下所示: mod 'ownmodule1', :git => 'https://git.example.org/configuration/ownmodule1.git', :ref => 'testing' mod 'ownmodule2', :git => 'https://git.example.org/configuration/ownmodule2.git', :ref […]

版本控制和备份,哪个组合?

我是唯一的开发者,我有3台电脑。 另外我的一个朋友有一个帐户,但从来没有使用它。 我目前的设置是GIT +我自己的临时备份工作,克隆存储库,压缩,gnupg它,并将其发送到远程ftp。 目前为止,我的源代码/ docbook / xml文件+更小的二进制文件(主要是图标+用于docbook的一些图像)工作得非常好。 不过,我最近参与了一个Flash游戏项目,并为此创build了一个存储库,但是Flash FLA文件非常庞大(我见过+70 MB)。 和git重新包装一个低窗口大小不能再完成。 进一步我发现我的一些文件使用回车而不是换行,GIT不喜欢区分这些文件。 当我创build存储库时,我应该将它设置为在提交时自动将CR转换为LF。 但是我并不知道这些问题。 出于绝望,我尝试了Mercurial,但它的最大文件大小是10 MB。 我想也许把我的项目分成二进制文件,并保持在颠覆,因为它似乎与二进制文件确定。 和GIT的源代码。 但这将是一项艰巨的任务,听起来像是一个坏计划。 你使用什么版本控制系统? 你如何备份? 你怎么处理你的二进制文件?

自动缩放EC2服务器和更新代码

我们已经到了需要为我们的Web服务器设置自动缩放的点,我不确定如何去扩展服务器和更新现有代码,而不重新创buildAMI并将自动缩放configuration更改为使用它。 我已经读了一些关于人们捆绑新代码并将其上传到s3并让新服务器在启动时抓取捆绑包的方法,但这似乎并不令人愉快。 目前,该应用程序的文件生活在一个git仓库中,当我们更新代码时,我们把它推到github上,ssh进入web应用程序并运行一个钩子来取消最新的代码。 所以我在想,另一个select可能是在每小时或每天的cron任务上运行该钩子。 不幸的是,这并不包括所有types的更新(例如新的博客文章的图像,而不包括在git仓库中),但这是一些东西。 任何人都可以提供一些常见解决scheme的build议,或者为什么我提出的解决scheme是一个坏主意? 谢谢大家

validation之前,盐状态

我将我的盐sls文件存储在一个git仓库中,但是我有一个常年性的问题,我无法validation我的YAML代表一个有效的可应用的状态集(我也很难validation我的YAML – 这是但是更容易)。 理想情况下,我想在validation工作站之前先validation我的状态。 如果不这样做,一些方法来检查预接收钩,以便至less停止命中服务器的代码。

我如何让GitLab删除旧的备份?

我使用rake任务为GitLab 6.8.2创build备份。 gitlab-rake gitlab:backup:create 在/etc/gitlab/gitlab.rb我添加了以下行: gitlab_rails['backup_keep_time'] = 60 这应该修剪超过60秒的备份。 我的期望是,第二次运行gitlab:backup:create会在60秒内删除第一个备份。 尽pipe输出的最后一行是 删除旧的备份…跳过 我如何configurationGitLab去实际删除旧的备份?