请注意:我并不是要重新争论Mercurial或Git哪个更好,我只是有一个技术问题,作为Mercurial用户,我不明白。我也不确定SO是否适合提出这样的问题,但它与编程相关。从用户的角度(例如WhatistheDifferenceBetweenMercurialandGit?和http://felipec.wordpress.com/2011/01/16/mercurial-vs-git-its-all-in-the-branches/),关于Git和Mercurial这两个版本控制系统有何不同的讨论很多,主要的区别在于分支的处理。我已经通读了许多这样的讨论,但我一直在问自己这个问题
请注意:我并不是要重新争论Mercurial或Git哪个更好,我只是有一个技术问题,作为Mercurial用户,我不明白。我也不确定SO是否适合提出这样的问题,但它与编程相关。从用户的角度(例如WhatistheDifferenceBetweenMercurialandGit?和http://felipec.wordpress.com/2011/01/16/mercurial-vs-git-its-all-in-the-branches/),关于Git和Mercurial这两个版本控制系统有何不同的讨论很多,主要的区别在于分支的处理。我已经通读了许多这样的讨论,但我一直在问自己这个问题
在git版本2.17.1之前(不超过4个版本),当你运行时gitbranch您会得到一个内联的分支列表,并且您的终端已准备好接收新命令。在2.17.1版本中,您会看到一个分支列表作为新屏幕,并且必须按q退出它。退出后,您将不再看到您的分支。在不降级的情况下,我如何才能像以前一样列出内联分支? 最佳答案 configsettingpager.对我有用:gitconfig--globalpager.branch'false'在运行该命令之前,gitbranch用了寻呼机。在该命令之后,gitbranch将分支列表直接打印到终端。
在git版本2.17.1之前(不超过4个版本),当你运行时gitbranch您会得到一个内联的分支列表,并且您的终端已准备好接收新命令。在2.17.1版本中,您会看到一个分支列表作为新屏幕,并且必须按q退出它。退出后,您将不再看到您的分支。在不降级的情况下,我如何才能像以前一样列出内联分支? 最佳答案 configsettingpager.对我有用:gitconfig--globalpager.branch'false'在运行该命令之前,gitbranch用了寻呼机。在该命令之后,gitbranch将分支列表直接打印到终端。
另一位开发人员删除并重建了一个名为“development”的远程分支,我已经有一个已checkout的副本。他进行了删除和重建以从中删除一些杂物。这很棒。但是当我执行“gitpullorigindevelopment”时,它不断出现merge冲突。但是我不想要我的副本中的内容。我只想要原产地的东西。那么我该如何删除它的本地副本并将其pull回呢?或者至少不将我的本地信息merge到其中? 最佳答案 从原始远程获取最新的更改。此步骤是您在问题中要求的“不mergepull”步骤。gitpull相当于gitfetch后接gitmerg
另一位开发人员删除并重建了一个名为“development”的远程分支,我已经有一个已checkout的副本。他进行了删除和重建以从中删除一些杂物。这很棒。但是当我执行“gitpullorigindevelopment”时,它不断出现merge冲突。但是我不想要我的副本中的内容。我只想要原产地的东西。那么我该如何删除它的本地副本并将其pull回呢?或者至少不将我的本地信息merge到其中? 最佳答案 从原始远程获取最新的更改。此步骤是您在问题中要求的“不mergepull”步骤。gitpull相当于gitfetch后接gitmerg
我有2个分支,我可以使用我的difftool(BeyondCompare)比较/比较它们。但是,用于差异的文件是临时副本,而不是当前分支中的实际文件。这意味着如果我想对现有文件进行更改,我无法通过difftool来完成。我需要复制一个分支的文件,检查另一个分支并在实际文件之间使用常规差异。有没有办法让difftool使用当前分支的实际文件(至少在一侧)?更新和解决方案:我使用的命令是gitdifftoolbranch1branch2。无论当前分支如何,这都会区分2个分支。命令gitdifftoolbranch可以正常工作,其中一个“边”是当前checkout的分支。
我有2个分支,我可以使用我的difftool(BeyondCompare)比较/比较它们。但是,用于差异的文件是临时副本,而不是当前分支中的实际文件。这意味着如果我想对现有文件进行更改,我无法通过difftool来完成。我需要复制一个分支的文件,检查另一个分支并在实际文件之间使用常规差异。有没有办法让difftool使用当前分支的实际文件(至少在一侧)?更新和解决方案:我使用的命令是gitdifftoolbranch1branch2。无论当前分支如何,这都会区分2个分支。命令gitdifftoolbranch可以正常工作,其中一个“边”是当前checkout的分支。
分布式版本控制的三巨头(Git、Bazaar和Mercurial)对分支的处理方式各不相同。例如,在Bazaar中,分支是单独的存储库(实际上是父存储库的不同副本);在您的文件系统上,不同的分支位于不同的目录中。另一方面,在Git中,您可以在同一存储库中存在多个分支(因此在文件系统的同一目录中)。Mercurial支持bothbehaviors,后者与namedbranches.这些不同的分支模型有哪些优缺点?在我看来,Bazaar的一个分支,一个repo的方法比Git的方法更痛苦(例如,要在Bazaar中使用一个分支,我必须首先创建分支,然后cd出我当前的工作副本,然后检查新分支,就
分布式版本控制的三巨头(Git、Bazaar和Mercurial)对分支的处理方式各不相同。例如,在Bazaar中,分支是单独的存储库(实际上是父存储库的不同副本);在您的文件系统上,不同的分支位于不同的目录中。另一方面,在Git中,您可以在同一存储库中存在多个分支(因此在文件系统的同一目录中)。Mercurial支持bothbehaviors,后者与namedbranches.这些不同的分支模型有哪些优缺点?在我看来,Bazaar的一个分支,一个repo的方法比Git的方法更痛苦(例如,要在Bazaar中使用一个分支,我必须首先创建分支,然后cd出我当前的工作副本,然后检查新分支,就