Tag: dvcs

删除所有本地变更集并还原到树

我正在使用Mercurial,当地有三个头,我陷入了一个糟糕的混乱局面。 我不能推,我只是想删除所有我的本地更改和提交,并重新启动完全干净的代码和一个干净的历史。 换句话说,我想结束(a)在本地完全相同的代码存在于远程分支的提示和(b)没有任何本地提交的历史。 我知道hg update -C覆盖任何本地更改。 但是,如何删除任何本地提交? 要清楚,我没有兴趣保存我在本地完成的任何工作。 我只想要最简单的方法来恢复到完全干净的本地结帐。

在Mercurial使用移植的后果

在Mercurial中维护发布分支时,最近有几个关于跳过修改的问题。 例如: Mercurial:分支具体变化在虚拟合并之后继续回来 为什么一个分支的Mercurial退出会影响其他分支? 自2.0版本推出以来,我一直在想使用graft来避免这个问题。 给定一个像这样的修订树: A—B—C—D—E—F—G—H—I—J 假设我们需要创build一个跳过邪恶变化E的释放分支。 hg update -r D hg graft "F::J" 给我们: A—B—C—D—E—F—G—H—I—J \ –F'–G'–H'–I'–J' Q1:这里发生了什么? 我可以理解, transplant将从F::J生成补丁,然后将它们应用到D ,但graft据说使用3路合并而不是补丁。 所以…….这是如何工作的? 为什么更好? 可以说,我现在修复E ,并将其合并到我的发布分支。 –E2—————– / \ A—B—C—D—E—F—G—H—I—J—M1 \ \ –F'–G'–H'–I'–J'———M2– M1是直接合并; 没有什么特别的。 M2正在合并具有“相同”(或至less等同)更改的分支。 Q2:这是合并使用D , J'和M1的正常3路合并吗? 问题3:mercurial存储/使用移植操作的额外信息来帮助合并? 最后… 问题4:像这样的stream程有什么潜在的问题?

人们如何看待化石DVCS?

化石http://www.fossil-scm.org 我最近发现这个,并已开始将其用于我的家庭项目。 我想听听其他人对此VCS的看法。 在我心目中缺less的是IDE的支持。 希望它会来,但我使用命令行就好了。 我最喜欢的化石的东西:单一的可执行文件内置的Web服务器维基百科和错误跟踪。 该存储库只是一个SQLite( http://www.sqlite.org )数据库文件,容易做备份。 我也喜欢我可以运行化石,并保存在我的拇指驱动器的存储库。 这意味着我的软件开发已经变得完全便携。 告诉我你的想法….

Mercurial:命名分支与多个存储库

我们目前在相对较大的代码库上使用颠覆。 每个发行版都有自己的分支,并且修复是针对主干执行的,并使用svnmerge.py迁移到发行分支 我相信现在已经到了更好的源代码控制的时候了,而且我已经在Mercurial玩了一段时间了。 尽pipe使用Mercurial来pipe理这样的发布结构似乎有两个学派。 每个版本都有自己的repo,并且修复是针对发布分支进行的,并推送到主分支(以及任何其他较新的发行版分支),或者使用单个存储库(或多个匹配副本)中的命名分支。 在任何情况下,似乎我可能会使用像移植一样樱桃变化包含在发布分支。 我问你 每种方法的相对优点是什么?

Git与Mercurial Repository的互操作性

我在Mac上使用GIT。 说够了。 我有工具,我有经验。 我想继续使用它。 这里没有战争 问题总是与互操作性有关。 大多数人使用SVN,这对我很好。 Git SVN开箱即用,并且是一个没有装饰的解决scheme。 人们可以继续高兴地使用SVN,我不会失去我的工作stream程,也不会失去我的工具。 现在…有些人与Mercurial一起。 对他们很好:他们有他们的理由。 但我找不到任何GIT HG。 我不想切换到HG,但我仍然需要与其存储库进行互操作。 你们中的任何人都知道这个简单的解决scheme?

Mercurial:我可以重命名一个分支吗?

我们现在有一个“鼓动”的分支,“分期”似乎是一个更好的语义契合。 什么是处理这个好策略?

Hg:如何做一个像git的rebase的rebase

在Git中,我可以这样做: 1.开始使用新function: $ git co -b newfeature-123#(本地特性开发分支) 做一些提交(M,N,O) 掌握A — B — C \ newfeature-123 M — N — O 2.从上游主站拉取新的更改: $ git pull (主要使用ff-commits进行更新) 掌握A — B — C — D — E — F \ newfeature-123 M — N — O 3.closures高手,使我的新function 可以针对最新的上游变化而开发: (来自newfeature-123) $ git rebase master 掌握A — B — C […]

如何search存储库中的所有Git和Mercurial提交某个string?

我有一个Git仓库,只有很less的分支和悬而未决的提交。 我想search一个特定的string在存储库中的所有这样的提交。 我知道如何获得历史logging中的所有提交logging,但这些logging不包括分支或悬空的斑点,只是HEAD的历史logging。 我想让他们都find,find一个错误的具体提交。 我还想知道如何在Mercurial中这样做,因为我正在考虑切换。

Mercurial和Git有什么区别?

我一直在使用git一段时间在Windows上(与msysGit),我喜欢分布式源代码pipe理的想法。 就在最近我一直在看Mercurial(汞),它看起来很有趣。 不过,我无法围绕着hg和git的区别。 有没有人在git和hg之间进行了比较? 我很有兴趣知道什么是不同的hg和git,而不必跳进fanboy讨论。

忽略.gitignore文件本身

我只是在我的新项目的根上做了一个git init 。 然后我创build了一个.gitignore文件。 现在,当我inputgit status时.gitignore文件出现在未跟踪文件列表中。 这是为什么?