- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个关于通用 DVCS 的问题,包括 Git 和 Hg。
在 Git 和 Hg 中, merge 跟踪都是在“提交”级别而不是“文件/目录”级别完成的。
其中一个“副作用”是您不能轻易地进行“部分 merge ”:
使用“基于项目的 merge 跟踪”(Perforce、ClearCase、Plastic SCM <= 3.0),您只需选择几个文件进行 merge ,然后 checkin ,然后重复 merge ,待处理的文件就会显示出来。
对于 Hg,Git:一旦 merge (有一些方法可以在不 merge 文件的情况下将文件排除在外),就会设置“跟踪”,如果重复 merge ,则不会留下要 merge 的候选对象。
我的问题是您对此感觉如何?
是否存在您认为“部分 merge ”是强制性的情况?没有它你能活吗? (与提交/cset 级别跟踪 merge 要快得多)。
免责声明:我为 Plastic SCM 工作并且我们已经在 4.0 中转移到“cset”级别跟踪,但我们想知道继续使用“项目级别 merge 跟踪”或者甚至允许两者是否是个好主意。
最佳答案
我的感觉是,想要对一个分支进行部分 merge 是一个标志,表明首先在一个分支中放置了太多内容。处理这种情况的正确方法是将分支拆分为两个分支,从而纠正原始错误,而不是通过尝试跟踪部分 merge 来使错误复杂化。我更喜欢 SCM 功能,它可以更轻松地拆分分支。
关于git - dvcs 部分 merge (git、hg merge 跟踪),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7323662/
阅读内置帮助后,在我看来,这两个命令都可用于修改工作区以匹配某个修订版。但我不明白更新和结帐之间的区别。请在您的答案中包含一些琐碎的工作流程,以显示何时更新/结帐是合适的。 最佳答案 第一个主要区别是
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
是否可以使用 Fossil 重命名目录?我试过明显的命令: fossil mv oldname newname Fossil 然后告诉我它做了一些事情: RENAME oldname newname
所以我一直在做一个相当大的项目,并像 VCS 一样使用 PlasticSCM。我将它与 DVCS 模型一起使用,但到目前为止,我几乎只是在我的办公机器和家庭之间进行同步。 现在我们正在让其他人参与该项
还有一个thread在 StackOverflow 上,处理多久提交一次对源代码控制的更改。我想把它放在使用 git 或 mercurial 之类的 DVCS 的上下文中。 你多久提交一次? 您是否仅
情况是这样的:在我的小办公室里,因为我们喜欢保持移动并且偶尔在家工作,所以我们没有中央文件服务器,而是将所有办公室文档都放在一个 SVN 存储库中,并且每个人都在他们自己的笔记本电脑。结帐重约 3GB
我最近问了一个关于 DVCS 是否适合企业环境的问题,这引发了我的另一个问题。 DVCS 的优点之一似乎是您可以轻松地分支和尝试新事物。当我开始考虑数据库更改时,我的问题就开始了。我一直发现将 DB
有没有办法明确删除“丢失”文件而不必使用 fossil rm 删除它们逐个? 我最近创建了一个存储库,其中有一个 Flash XFL 文件夹,Flash 似乎有点随意地删除和创建了一些二进制文件。每次
TFS 2010 是否有 SVN 提交后事件?每次开发人员 checkin 某些内容时,我都想运行脚本或应用程序或做一些事情。我浏览了互联网,但没有找到相关信息。 最佳答案 您将需要创建(并发布)一个
我正在寻找一个版本控制系统,它能够检测函数是否在文件中移动。例如,有一个文件“Foo.java”,其中包含函数“a()”、“b()”和“c()”。 public class Foo { voi
我的工作场所正在考虑转向现代 (D)VCS,这是我正在 push 的事情。 我的老板有这个想法,目前的工作流程是有一个集中的存储库,每个人都可以在任务完成后提交/merge 他们的更改,在处理任务时,
我最近开始在一个个人项目中使用 Git,我可以看到 DVCS 如何使我们在工作中受益(这是一家大型企业软件公司,目前正在运行 Perforce)。例如,我团队中的功能工作主要由开发人员创建自己的分支组
在使用 DVCS 近两年之后,似乎一个固有的“缺陷”是意外数据丢失:我丢失了未被推送的代码,我知道其他人也丢失了。 我可以看到一些原因:异地数据复制(即“提交必须转到远程主机”)不是内置的,存储库与代
还是传统的客户端 - 服务器 VCS 更合适?我目前正在使用 TortoiseSVN,但我对 DVCS 感兴趣,但我不确定尝试使用类似的东西是否是一个好主意。 最佳答案 由于您仍然可以推送到另一台运行
我希望在初学者的快速入门指南中对此进行解释,因为几乎每个从化石开始的人都会有他想要开始用化石管理的项目。但我在文档中找不到任何解释。 (我来自 git,这对于我的需求来说太重了,但至少在现有文件夹中创
我在一家公司工作,我们创建了许多特定于客户的小型应用程序。我们有几个开发人员,但大多数时候每个项目只有一名开发人员。 Customer1 ProjectX App
如何从 Bazaar 工作区中删除所有未版本控制的文件?我希望执行与 hg purge --all 或 git clean -fd 相同的操作。 最佳答案 我只在 BzrTools 中看到过这个,作为
我在这里和那里看到暗示直接从 DVCS 克隆运行实时部署是不好的,最好导出一个干净的树或 tarball 并部署它。在我看来,直接从 DVCS 克隆运行有几个优点: 无需在每次部署时传输整个代码库。
Smalltalk 令人讨厌的事情之一是,由于它管理源代码的方式,它(通常)需要自己的 VCS。 Squeak 和 Gemstone(至少在其 GLASS 版本中)有一个名为 Monticello 的
我想知道是否可以使用 nuget 在版本控制中仅存储对所需包的引用(仅 package.config 并忽略 packages 文件夹)。 有没有办法告诉 nuget(重新)下载各种 package.
我是一名优秀的程序员,十分优秀!