我想把我已经承诺掌握的最后几个提交移动到一个新的分支,然后在完成这些提交之前把主人带回去.不幸的是,我的Git-fu还不够强大,有什么帮助吗?
即我怎么能从这里走出来
master A - B - C - D - E
Run Code Online (Sandbox Code Playgroud)
这个?
newbranch C - D - E
/
master A - B
Run Code Online (Sandbox Code Playgroud) 有一段时间我一直在为我的个人项目使用subversion.
我越来越多地听到关于Git和Mercurial以及DVCS的一般情况.
我想给整个DVCS带来一些旋转,但我对这两种选择都不太熟悉.
Mercurial和Git有什么区别?
注意:我不是要找出哪一个是"最好的",甚至不应该从哪个开始.我主要寻找他们相似的关键领域,以及他们不同的关键领域,因为我有兴趣知道他们在实施和理念方面有何不同.
我在Mac上使用GIT.说够了.我有工具,我有经验.我想继续使用它.这里没有战争......
问题始终在于互操作性.大多数人都使用SVN,这对我来说很棒.Git SVN开箱即用,是一个没有多余装饰的解决方案.人们可以继续愉快地使用SVN,我不会丢失我的工作流程,也不会丢失我的工具.
现在......有些人和Mercurial一起来了.对他们来说很好:他们有他们的理由.但我找不到任何GIT HG开箱即用.我不想切换到HG,但我仍然需要与他们的存储库进行互操作.
你们中的任何人都知道一个简单的解决方案吗?
我目前使用Git,我对它很满意,但我想更多地了解Mercurial.它比Git有什么优势吗?Git比Mercurial有什么优势?
我意识到已经对这两者进行了详细的比较,但这不是我要求的.我不想要冷静的信息,而是慷慨激昂(但礼貌!!!)的理由,为什么你认为一个更好/更容易/更快/更聪明/更强大等等.
首先,让我说我不是一个专业的程序员,而是一个需要它并且必须学习的工程师.我一直独自工作,所以只有我和我的七个分裂的人物...我们作为一个团队工作:)我的大部分东西都是用C/Fortran/Matlab完成的,到目前为止我一直在学习git to管理一切.然而,尽管我没有任何无法解决的问题,但我从来没有对它"满意"......对于我不能做的一切,我必须查阅一本书.而且,一段时间以来,我一直听到很多关于Mercurial的好东西.
现在,我的一位同事将不得不在一个项目上与我合作(我几乎为他感到难过)并且他开始学习Mercurial(他说更喜欢它),我正在考虑自己的转换.
我们几乎只在Windows平台上工作(尽管我使用Unix工具和来自这个地区的东西管理相对比较好).
所以,我想知道,在一个描述的场景中,我对切换有什么问题.我听说Mercurial对于Windows用户来说对用户界面更加友好.
它如何处理存储库?它是否以与git相同的方式创建它们(只是工作目录中的一个子目录)并且我可以只复制整个项目目录(包括git repo)并将它们带到某个地方而无需额外的思考?(当我选择git/svn时,我真的很喜欢).
你有什么好书可以推荐(比如Pro Git,只适用于Mercurial).
有什么好方法可以将Mercurial实现到Visual Studio/GVim for Windows或Windows资源管理器中以便我可以相对轻松地工作(我想避免使用命令行来处理有关它的所有内容,例如在git shell中).
还有其他我应该注意的事情(拜托,请不要指出其他问题......他们只是给我一些信息,而且我不确定我应该把它当作什么重要,什么可以忽视).我正在努力减少一些时间,因为我无法花时间重新学习Mercurial,就像我为git做的那样.
我也听说过git是c项目,而mercurial是python ......速度上有明显的差别.git非常快......在工作的时候我会遇到一些等待.
注意:我所有的项目都是中间尺寸......主要是数值模拟... 10-15000行(中等大小?)
我有一个包含以下更改的文件:
# Manual hunk edit mode -- see bottom for a quick guide
@@ -280,6 +281,7 @@
if( foo )
{
bla();
- test( true );
+ removeThis();
+ test( false );
}
else
Run Code Online (Sandbox Code Playgroud)
我怎样才能提交更改test(),并避免提交removeThis()?每次我尝试手动编辑大块时git告诉我它不适合干净利落.
请注意:我不是要重新启动Mercurial或Git更好的论点,我只是有一个技术问题,我作为Mercurial用户,不明白.我也不确定SO是否是提出这样一个问题的正确位置,但它与编程相关.
关于两个版本控制系统Git和Mercurial如何从用户的角度来看彼此不同(例如Mercurial和Git之间有什么区别?和http://felipec.wordpress.com/2011/01)/16/mercurial-vs-git-its-all-in-the-branches /),主要区别在于分支机构的处理.我已经阅读了很多这些讨论,但我一直在问自己这个问题:
为什么Git不将分支名称存储为提交的一部分?
我真的没有理由不这样做; 这意味着数据不能简单地消失,因为没有参考(标记,分支,等等).
我认为在提交中存储分支是Mercurial的一大优点,因为这会使丢失数据变得更加困难.
Git人群的主要观点是支持Git的分支模型,你可以简单地删除分支,并不会阻止Git在每次提交时存储分支的名称:如果删除了分支的提交,那么对该分支的引用.它也不会干扰"廉价分支"的论点:分支管理起来不会更昂贵.我不认为所需的额外存储应该是值得关注的:每次提交只需几个字节.
最近我一直在为我的工作项目寻找最好的源控制技术.我有一段时间以来一直是颠覆用户,但听到越来越多关于git的消息.所以我检查了一下,我非常喜欢这样一个事实:当你无法访问服务器时,它允许你轻松地将你的项目置于源代码控制之下,甚至是离线.然而,在多个程序员环境中(例如在工作中),中央服务器的想法仍然有其好处.当我遇到Mercurial时,在我看来这两个世界都是最好的,因为你可以将你的项目置于源代码控制下离线,你可以推送给其他人,如果他们建立了一个网络服务器,但你也可以使用一个中央服务器来推送和拉动..结合这个事实,像bitbucket.com让你有机会在线启动一个私人免费存储库..
我在思考中是对的,还是在我无法掌握的工作环境中对这些源控制系统有一些重要的微妙之处?
我正在对GIT和Mercurial的速度进行比较.
我选择了一个9072文件的大项目(主要是php文件和几个图像),大小为95.1 MB.
这是一个虚假的项目,也许可以让某人知道如何解释我得到的结果 - 这是一个wordpress下载,未更改,并在两个文件夹中复制了12次 - 一个用于GIT,另一个用于Mercurial存储库.
然后我创建一个GIT存储库并提交(使用TortoiseGIT),完成后,我在使用TortoiseHG的Mercurial的另一个文件夹上做了同样的事情.
Git结果
时间:32分30秒提交一切
存储库大小:6.38MB,只有847个文件.
Mercurial结果:
时间:1分25秒 - 是的,它只有1分钟.
存储库大小:58.8MB,包含9087个文件.
我不是在争论最好或者其他什么,我只是想了解差异以及SCM如何创建存储库.
看起来HG做了一些文件的副本,带有某种压缩.
但我不明白Git做了什么.
有人能解释一下结果吗?
PS.:我知道已经有一些关于GIT和Mercurial的问题,我只想弄清楚这个测试的结果 - 即使它是一个有效的测试.当我开始时我只是检查速度,但我最终在我的头顶上留下了一些问号......
我现在处于选择哪个版本控制系统的条件下,所以我想从使用过它们的经验开发人员那里得到一些评论.我应该使用哪一个以及在什么条件下?
我是一个 Git 初学者。我正在阅读并尝试这个 Git 教程。我还在这里阅读了 Git 分支模型以及SO 上的这个问题。
但我仍然困惑如何在下面的案例中正确使用 Git:
MyProject01。PC01说,我将在 PC 上进行处理MyProject01(git clone、git pull 等),然后对其进行处理。git push到 PC01,但我不确定)。例如,我正在file.prgPC1 上进行写入,而另一个开发人员正在PC2 上function 1处理同一个文件以进行写入。这些将被合并以获得最终结果 -与file.prgfunction 2file.prgfunction 1function 2。我没有使用 Git 作为完整的版本控制,即版本将由我自己控制,例如MyProject01、MyProject02等。Git 将使用 (git init等。Git 将为每个单独的目录我只想使用 Git 作为 Visual FoxPro 桌面应用程序开发的多开发人员环境。
根据我的情况,我是否需要创建一个repo01按照教程中所述克隆的裸存储库;repo01将会MyProject01 …