Tag: 版本控制

Git历史logging – 按关键字查找丢失的行

我曾经在Git仓库的某个地方有一个包含“Foo”这个字的行,这个行几百个之前就提交了。 如果有什么方法可以find它的修订版本号,那么最后一次没有购买FishEye?

如何在使用源代码pipe理时隐藏连接string,用户名,密码?

我正在做一个小型的项目,我正在使用连接string,也不应该被其他人看到或使用的API键和值。 我使用公共GitHub帐户进行源代码pipe理。 在web.config中使用纯文本时,使用源代码pipe理的常用方法是什么? 在签入代码之前是否需要手动删除值?

在提交中将更改还原为文件

我想只将特定提交所做的更改还原为给定的文件。 我可以使用git revert命令吗? 任何其他简单的方法来做到这一点?

Git:手动重命名文件,Git困惑

我正在使用Git并手动重命名我已经添加到存储库的文件。 现在,我已经添加了“新”文件,我重命名到存储库,但Git抱怨“旧”文件已被删除。 那么我该如何让Git忘记旧文件呢? 更好的是,我该如何告诉Git“新”文件真的是“新”文件,以便我可以保持更改历史logging?

Git和Trac(或类似)

在过去,我非常喜欢使用Trac来pipe理自己服务器上的Subversion版本库。 集成的票务和在线代码浏览非常方便。 我已经使用github进行了一些公共项目,但是我没有钱去购买额外的服务,特别是当我已经为远程VPS托pipe付款时。 有没有人知道或有任何经验设置类似Trac与Git版本控制? 具体来说,我已经可以推送到一个远程服务器,但我希望有一个Web界面,允许我(和与我一起工作的人)在不公开项目的情况下在线查看代码库的提交和当前状态。 我知道GitPlugin,但一直无法启动并运行成功。 还有其他build议吗? 综合票务(和维基)是理想的,但不是绝对必要的。 编辑: 玩了GitPlugin和Trac后,我已经能够启动并运行了。 主要的问题是我需要通过在trac.ini中这样做来明确地启用trac环境的插件: [components] # for version 0.10 gitplugin.* = enabled # for version 0.11 tracext.git.* = enabled 我也可以尝试Redmine和CGit,因为这看起来像是我正在寻找的其他软件。 欢迎任何其他build议。

Subversion忽略“–password”和“–username”选项

当我尝试执行任何svn命令并提供–username和/或–password选项时,它会提示我input密码,并始终尝试使用我的当前用户而不是–username指定的用户。 –no-auth-cache和–non-interactive都没有影响。 这是一个问题,因为我试图从脚本调用svn命令,我不能让它显示提示。 例如,以user1身份login: # $ svn update –username 'user2' –password 'password' # user1@domain.com's password: 其他选项正常工作: # $ svn –version –quiet # 1.3.2 为什么提示我? 为什么它要求user1的密码,而不是user2的? 我99%确定我的所有权限都设置正确。 是否有一些configuration选项为svnclosures命令行密码? 还是完全是另一回事? 我在Fedora Core 5(Bordeaux)上运行svn 1.3.2(r19776)。 这是我的环境variables列表(带有敏感信息X'ed)。 他们似乎都不适用于SVN: # HOSTNAME=XXXXXX # TERM=xterm # SHELL=/bin/sh # HISTSIZE=1000 # KDE_NO_IPV6=1 # SSH_CLIENT=XXX.XXX.XXX.XXX XXXXX XX # QTDIR=/usr/lib/qt-3.3 # QTINC=/usr/lib/qt-3.3/include # SSH_TTY=/dev/pts/2 # […]

2GB USB驱动器的版本控制

对于我的学校工作,我做了很多切换电脑(从实验室到笔记本电脑到图书馆)。 我有点喜欢把这个代码下的某种版本控制。 当然,问题是我不能在我使用的电脑上安装额外的软件。 有什么版本控制系统,我可以保持拇指驱动器? 我有一个2GB的硬盘来放这个,但如果有必要,我可以得到一个更大的。 我所做的项目并不是特别的大。 编辑:这需要在Windows下工作。 编辑二:集市结束了我所select的。 如果你和TortoiseBzr一起去,那会更好。

TortoiseSVN报告冲突,但没有发现冲突

我有一个包含多个Python项目的整个存储库的工作副本。 当我select右键单击 – >在Windows文件资源pipe理器中的SVN更新我收到一个错误消息列出一个特定的项目文件夹: Command: Update Updating: path\to\working\copy Skipped obstructing working copy: path\to\working\copy\project Completed: At revision: 176 Warning!: One or more files are in a conflicted state. 当我去那个项目并右键单击 – > SVN更新,它成功更新。 也没有冲突编辑器可用,当我右键单击 – > TortoiseSVN – >解决没有可用的文件。 什么可能导致冲突? 只要这种情况持续发生,就不可能在我的工作副本中更新这个项目。

重新build立TFS源控制绑定

我有大约12个Visual Studio 2010项目,我一直在使用TFS版本库进行版本控制。 最近,我去度假,并将我的电脑的操作系统升级到Windows 7 64位。 我已经重新安装了Visual Studio,并且可以连接到我的Team Foundation Server并查看我的项目…只有我的绑定无法正常工作。 大多数情况下,我的文件似乎都不受源代码控制,但是在一些项目中,我的源代码pipe理绑定在根文件夹中是正常的,但不能在项目根目录下的子文件夹中工作。 我已经尝试撤消绑定,从源代码pipe理打开,并删除文件夹,并获得最新版本。 这些都没有解决这个问题。 任何想恢复我的绑定? UPDATE 捅了一下后,我可以看到在我的“无效”项目的path中似乎有一个额外的文件夹…我不知道它是如何进入,但这似乎是抛弃了我的映射。

Mercurial:在一个回购合并分支之间的一个文件

当我在Hg repo中有两个分支时,如何合并只有一个文件与另一个分支,而不是所有其他文件从变更集合? 是否有可能只合并某些文件,而不是整个变更集?