Tag: dvcs

如何在Mercurial中克隆存储库的子文件夹?

我有一个Mercurial存储库包含一些相关的项目。 我只想分支其中的一个项目在其他地方工作。 克隆只是一个可能的存储库的一部分,是否是实现这一目标的正确途径?

如何与Mercurial“切换”

如何在Mercurial中执行svn switchfunction? 那是改变我的工作目录切换到存储库中的另一个分支?

在大型组织中使用Mercurial

我一直在为自己的个人项目使用Mercurial,我喜欢它。 我的雇主正在考虑从CVS切换到SVN,但我想知道是否应该推动Mercurial(或其他DVCS)。 Mercurial的一个问题是它似乎是围绕着为每个“项目”设置一个存储库的想法来devise的。 在这个组织中,当前CVS存储库中有许多不同的可执行文件,DLL和其他组件,分层组织。 有很多通用的可重用组件,还有一些客户特定的组件,以及客户特定的configuration。 当前的构build过程通常从CVS存储库中获取一些子树。 如果我们从CVS转到Mercurial,组织仓库/仓库的最好方法是什么? 我们应该有一个巨大的Mercurial存储库包含一切吗? 如果不是,那么较小的存储库应该如何细化? 我认为人们会发现,如果他们不得不从很多不同的地方进行更新,他们会觉得非常烦恼,但是如果他们不得不推拉整个公司的代码库,他们也会觉得很烦。 任何人都有这方面的经验,或build议? 相关问题: 企业中基于Git的源代码pipe理:build议的工具和实践? 巨大项目的分布式版本控制 – 是否可行?

如何中止mercurial合并?

我疯狂合并。 我想恢复,然后再试一次。 有没有办法在提交之前恢复合并? hg revert不做我想要的,它只会恢复文件的文本。 Mercurial放弃了我的第二次尝试合并,抱怨原始合并仍然没有提交。 有一种方法可以在hg merge命令之后但在提交之前撤消合并吗?

一个漂亮而function丰富的Linux git GUI

我正在为Linux Git检查一个rich GUI 。 最近我开始大量使用它,发现即使命令行非常有用,我仍然需要一个GUI来处理,因为我对这些高级function还不是很了解。 我之前遇到过这个问题 ,但是我还是要再次提出这个问题,因为这个问题没有我的答案 我已经使用了git-cola和gitk ,但是它们看起来不完整,gitk看起来像我在其他一些DE上工作。 我在gitGUI中需要的所有function都不在其中。 我尝试了giggle ,但是看差异更有用 我试过QGit ,但还不完整。 现在让我告诉我如何让一个foo-Git-GUI看起来像这样: 您可以看看Bzr Explorer ,它比以上提到的许多GUI都具有很高的可用性和许多特性 任何人都知道任何Git GUI,看起来像上面我张贴上面的例子?

集中式和分布式版本控制系统的比较

使用集中式和分布式版本控制系统(DVCS)有什么好处和缺点 ? 你有没有遇到DVCS的任何问题,你是如何防范这些问题的? 保持讨论工具不可知和燃烧到最低限度。 对于那些想知道什么DVCS工具可用的人来说,下面是一个最着名的免费/开源DVCS列表: Git (由C语言编写)由Linux Kernel和Ruby on Rails使用 。 Mercurial (由Python编写)由Mozilla和OpenJDK使用 。 Bazaar (用Python编写)由Ubuntu开发者使用 。 Darcs (写在Haskell)。

版本控制入门

我需要实现版本控制,即使只是在家做的发展。 我已经阅读了Subversion在过去几年中的出色performance,并且正在致力于学习这方面的知识,直到我听说Git是即将到来的版本控制系统。 考虑到这种情况,我是否应该坚持一下,看看哪一个出来? 他们的相对优势是什么? 我在Git中注意到的一个问题是没有很多全function的GUI,这对于我的团队中的许多用户来说是非常重要的。 此外,不介意如何开始与其中一个的build议。 (教程等)

Git push不会做任何事情(一切都是最新的)

我正在尝试更新github上的git存储库。 我做了一堆的改变,添加了他们,然后尝试做一个git推。 答复告诉我,一切都是最新的,但显然不是。 git remote show origin 回应我所期望的储存库。 为什么git在存储库中不存在本地提交时告诉我存储库是最新的? [searchgraph] git status # On branch develop # Untracked files: # (use "git add <file>…" to include in what will be committed) # # Capfile # config/deploy.rb nothing added to commit but untracked files present (use "git add" to track) [searchgraph] git add . [searchgraph] git […]

Git从当前签出的主人创build分支?

在服务器上有一个受git控制的文件夹,主分支已经被签出,整个文件都被修改了,没有被提交。 有没有办法让我把变化提交到一个单独的分支,所以我可以回到一个干净的版本? 即我想有效地撤消所有这些人的变化,但将其存储在另一个机会,所以如果该人想要他们的变化,他们可以切换到该分支。 (是的,我知道这不是git的devise工作,但这是我的情况!)任何想法非常感激。

在Mercurial上倒退合并

你如何扭转合并对极化分支的影响,而不会痛苦? 这个问题困扰了我好几个月 ,终于放弃了。 你有1个知识库,有2个命名分支。 A和B. 发生在A上的变化将不可避免地发生在B上。 B上直接发生的变化不得在A上发生 在这样的configuration中,将“B”合并为“A”会在存储库中产生可怕的问题,因为对B的所有改变都显示在A中,就好像它们是在A中做出的一样。 从这种情况中恢复的唯一“正常”方式似乎是“撤销”合并,即: hg up -r A hg backout -r BadMergeRev –parent BadMergerevBeforeOnA 看起来一切都很好,直到你决定以正确的方向合并,最终发生各种各样令人讨厌的事情,特别是分支B上被删除/注释的代码突然变得没有注释或没有注释。 到目前为止,还没有一个可行的解决办法,除了“让它做事,然后解决所有的问题”,而且说实话有点贵。 这是澄清问题的图像: [原始图像丢失] 文件C&E(或更改C&E)必须仅出现在分支b上,而不出现在分支a上。 这里的修订A9(分支a,revno 9)是问题的开始。 修订版A10和A11是“退出合并”和“合并退出”阶段。 修订版B12是多余的,错误地重复放弃了不打算放弃的改变。 这种困境已经引起了许多挫折和蓝烟,我想结束它。 注意 试图禁止发生反向并购,这可能是一个显而易见的答案,无论是用钩子还是政策,我已经发现把这个问题弄糟的能力是相当高的,发生这种可能性的可能性很大,即使采取反措施,你也必须假设不可避免的,它会发生,所以你可以解决它。 详细说明 在模型中我使用了分离文件。 这些使问题听起来很简单。 这些只是代表可能是一个单独的行的任意改变 。 另外,为了增加对损害的侮辱,分支A发生了实质性的变化,这留下了一个长期的问题:“分支的变化与分支B的变化发生冲突,分支B刚刚出现(并退回),看起来像一个变化在分支A上代替“ 历史重写技巧: 所有这些追溯解决scheme的问题如下: 我们有9000个提交。 因此新鲜克隆需要半小时 如果某个地方 甚至存在一个不好的版本库,那么它就有可能重新与原始版本库联系起来,然后再次重新开始。 每个人都已经克隆了这个仓库,现在已经过了好几天了。 一个这样的克隆,恰好是一个现场,所以“抹那个,从头开始”=“大诺诺” (我承认,上面的很多都有些蠢,但是他们不在我的控制范围之内)。 唯一可行的解​​决scheme就是那些假设人们可以而且会做一切错误的方法,而且有一种方法可以“消除”这种错误。