Articles of 版本控制

我怎样才能用Olive来提交和推送一个文件?

在Linux上使用Olive我已经更改了本地系统上的一些文件。 通常情况下,我会执行Branch>Commit然后按Branch>Push ,但是在这种情况下,我只想在此时对lp:stevedore进行更改。 我怎样才能提交和推送其中一个更改的文件,但不是所有其他更改?

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

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

交互式程序有select地排除部分diff文件

有一个程序(最好在Cygwin上可用),我可以用它来交互地“过滤”一个差异文件? 即我想要像git交互式添加,除了我想操作一个diff文件。 我已经发现了filterdiff ,但我不认为它支持交互式编辑,只根据预定义的search条件包含/排除hunk。 我的使用场景:我在MQ中有一个补丁,我想按照这里的教程分解: https : //www.mercurial-scm.org/wiki/MqTutorial#Split_a_patch_into_multiple_patches 。 为了做到这一点,我必须编辑一个补丁文件,以便它只包含我想要的(许多)更改,而用文本编辑器手动执行此操作则是一种痛苦。 谢谢!

SVN关键字configuration

在我之前的问题之后,我想从命令行提交时自动replaceSVN关键字。 例如 /** * $LastChangedDate$ */ 会变成 /** * $LastChangedDate: 2006-07-22 21:42:37 -0700 (Sat, 22 Jul 2006) $ */ 我有我的〜/ .subversion /configuration文件如下(注意杂项部分enable-auto-props = yes和自动道具部分* .java值) ### This file configures various client-side behaviors. ### ### The commented-out examples below are intended to demonstrate ### how to use this file. ### Section for authentication and authorization customizations. […]

我怎样才能testing我的Bash脚本在旧版本的Bash?

我正在研究Bash库,并希望确保我支持尽可能多的环境 – 包括旧的Bash安装。 我的开发环境是Bash 4.3,但是我的一些用户可能会运行更老的版本,目前我无法确认或否认我的图书馆会为他们工作。 特别是我想与OSX兼容(仍与Bash 3.2,AFAIK)。 我知道Bash可以在符合POSIX的模式下运行; 有没有类似的设置来禁用现代function? 或者在某种兼容模式下运行Bash的方法? 我正在寻找任何技术,没有find和启动旧的操作系统,并在那里testing我的图书馆。 更新 例如,我避免使用关联数组,因为它们是在Bash 4中引入的,但是很难确定没有testing我不是不小心使用了其他Bash 4+特性。

如何使用git命名空间隐藏分支

背景 我正在和一个使用git进行版本控制的团队合作。 正常的stream程是: 人们从“积压队列”中select一张票。 通过本地分支(即git checkout -b my_feature_branch )处理该问题。 进行几次提交(即git commit )。 将本地更改推送到远程分支为了“备份”他们的工作,以便它住在多台机器上,以防笔记本电脑损坏或被盗(即git push -u origin my_feature_branch )。 最终创build一个代码审查我们的私人 github页面,并执行从function分支压缩合并到master 。 除了由员工根据需要创build的远程function分支之外,我们还有数十个发布分支,用于创build我们向客户发送的“黄金版本”,即1.00等。 问题 一些开发商已经开始抱怨分支太多了,我倾向于同意。 有些开发商没有勤勉地清理不再需要的旧分支(尽pipe如此 一旦代码审查完成, github提供了一键删除function)。 题 有没有办法configuration我们的公司 github部署,以便当人们通过CLI使用git branch : 只有我们的“重要/释放/黄金”分支出现。 一次性开发者(临时)分支只能通过git branch -a出现git branch -a ? 这样做的主要目标是减less混乱。 编辑: 我发现了一个类似的问题 ,但唯一的答案是根本不适用(不要使用远程分支),这违反了我的关键约束,允许人推送到远程分支作为数据备份的一种forms。 @Mort暗示的私有名称空间的概念似乎正是我正在寻找的。 现在,我该如何做到这一点?

如何通过ftp进行版本控制?

我有一个web开发人员。 客户端使用不允许shell访问的共享主机,因此不能访问SVN,Git等。我试图说服他移动到许多便宜的选项之一,但他不会做它。 如果我在登台服务器上使用版本控制,是否有任何工具可以让我通过ftp复制到生产的更改? 本地我有Mac和Windows,登台服务器是Linux,所以这些平台上的东西,工作….

如何用服务器上的ssh://访问来创build一个存储库

我有一台运行Debian的小型机器,可以通过ssh -l user host访问它。 现在我在该机器上的一个文件夹中创build了一个git仓库。 我无法弄清楚的是:我该怎么做,git会让我通过git push ssh://yourserver.com/~you/proj.git +master来访问这个仓库git push ssh://yourserver.com/~you/proj.git +master 或换句话说:什么意思是ssh:// ,我如何设置使用该协议访问存储库? 感谢您的帮助/提示!

RabbitVCS GUI不会出现

我在我的linux系统上安装了RabbitVCS。 现在我遇到了麻烦,我想调出GUI。 当然,我尝试从命令行rabbitvcs,然后rabbitvcs SVN,但没有运气(见下面的输出)。 我得到使用情况的信息,但是这似乎没有多大的帮助。 我如何在GUI模式下运行它? ————————————– 鳍@matrix〜$ rabbitvcs 用法:rabbitvcs模块[path1] [path2] … 可用模块 SVN: 关于添加注释applypatch分支浏览器更改checkmods checkout cleanup提交createpatch创builddelete删除diff编辑冲突导出忽略导入locking日志合并属性打开重定位,重命名,标记,还原,设置,切换,解锁,更新,更新 Git的方法: 关于添加,注释,应用分支,分支,更改,签出,清理,克隆,提交,创build,创build,删除,差异,编辑冲突,导出,忽略,日志,合并,打开,推,重命名,设置,标签,更新 对于模块特定的帮助types:rabbitvcs -h flipper @ matrix〜$ rabbitvcs SVN flipper @ matrix〜$ rabbitvcs SVN -h 鳍@matrix〜$

最喜欢的服务器操作系统和小型项目的源代码控

我正与其他开发人员开始一个小型项目,需要build立专门的系统来容纳我们的版本控制和项目可能存在的其他任何短期需求。 服务器的要求是: 免费/开源操作系统。 必须提供源代码pipe理。 必须一直运行。 而已。 所以我知道大约有一千个基于Linux的服务器发行版可以实现这个目标,但是从任何一个为小型项目pipe理自己的服务器的人寻找成功案例。 你觉得哪个最简单,最灵活,最强大? 方面的问题:最喜欢的源控制系统,为什么?