Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control 合并代码更改而不使用真正的源代码管理_Version Control_Merge - Fatal编程技术网

Version control 合并代码更改而不使用真正的源代码管理

Version control 合并代码更改而不使用真正的源代码管理,version-control,merge,Version Control,Merge,我们有几个开发人员在使用同一个VS2005解决方案,但我们的源代码管理非常糟糕。(我们公司使用Harvest,对此我们投了不信任票) 现在,我们都在共享局域网驱动器上处理文件。显然,这会导致一些问题。但我们认为这比在本地工作、在电子表格中跟踪我们接触到的文件并手动合并所有内容要好。有人有合并我们的变更的策略吗 一些问题的存在是因为公司的美丽(比如强制收割)。这些相同的策略阻止将新工具引入我们的环境。因此,避免购买/下载新软件的策略最适合我们。将共享视为您的源代码管理系统。使共享为只读,这将迫使开

我们有几个开发人员在使用同一个VS2005解决方案,但我们的源代码管理非常糟糕。(我们公司使用Harvest,对此我们投了不信任票)

现在,我们都在共享局域网驱动器上处理文件。显然,这会导致一些问题。但我们认为这比在本地工作、在电子表格中跟踪我们接触到的文件并手动合并所有内容要好。有人有合并我们的变更的策略吗


一些问题的存在是因为公司的美丽(比如强制收割)。这些相同的策略阻止将新工具引入我们的环境。因此,避免购买/下载新软件的策略最适合我们。

将共享视为您的源代码管理系统。使共享为只读,这将迫使开发人员获取本地副本以进行更改。然后您就有了一个比较稳定的版本。这将有助于实现“合并”。“签入”代码必须包含文件的某种备份策略(可能是在新文件名中复制一个带有时间戳和用户名的文件),并用新版本替换原始文件


这就是说,如果没有可靠的真正的源代码控制系统,那么进行这种类型的活动将非常困难,并且容易出错。

除非您想手动完成,否则您可能必须下载某些内容。我极力推荐。它是免费的、开源的,而且对您来说,下载一小部分不会把事情搞砸可能更好。

获取git并在每个开发人员的机器上本地安装它。然后将存储库设置为复制。

有一个名为merge的标准unix命令行工具,它可以相当智能地将两组更改合并到一个文件中。语法是:

merge mine older yours
其中“我的”是包含您的更改的文件,“旧的”是原始文件,“您的”包含其他人的更改


但不确定是否有一个UNIX(或Mac OS X)机箱可以在上面执行此操作

使用共享驱动器不是个好主意,我投了“不信任票”


覆盖他人的更改太容易了,您没有更改跟踪,无法进行分支或标记/标签等。

这可能不是一个可行的选择,但也许您可以使用分布式系统,例如,或


我建议这些方法的原因是它们的开销非常低,可以与其他系统一起使用。我知道在bazaar中,存储库只是添加到目录中的一个隐藏文件夹。

学习如何使用Harvest。要使事情顺利进行需要一点努力,但总的来说,它是一个优秀的源代码控制系统。

另一种可能性是。它有两个和三个方向的合并和伟大的差异功能的文件和目录。如果你想知道更多关于它的信息,请收听


但和其他大多数人一样,我建议要么使用Git,要么学习Harvest。如果源代码管理系统允许更改其diff应用程序,那么Beyond Compare将是一个很好的替代品。

有两个截然不同的问题:版本控制和合并。绝对没有理由不使用版本控制系统。如果公司已经决定了解决方案(无论出于何种原因),那么就使用它。不喜欢它或对它没有“信心”不是不使用它的正当理由。而使用共享驱动器来模拟源代码控制系统也绝非疯狂

合并是第二个问题。您只需要一个diff/merge工具。挑一个。你怎么这么长时间没有一个

阿拉西斯是一个伟大的人。要几块钱。一段时间以来,SourceGear人员一直在免费分发他们的diff/merge工具(Vault附带的工具)。它也是一个强有力的竞争者。这是我用过的两个,我知道现在还在市场上。还有一些人已经提到


手动合并所有内容不是一个站得住脚的解决方案。再加上不使用风投,这将是一场灾难。

他已经表示,他们的公司官僚机构不允许引入新工具。吉姆寻找的不仅仅是技术,而是流程和实践。他的公司官僚制度是允许员工辞职,还是某种形式的契约仆人?如果他们不能获得正确的源代码控制,那么他们尊重开发人员的几率有多大?如果服务器上没有安装git,而只是在每台开发人员机器上安装git,他们怎么知道?这并不是说你需要管理员权限才能将其安装在拇指驱动器上,并在老板出现时将其放入你的口袋。实际上没有合并,但我认为你指的是“diff3-m”命令。看,我同意这一点。一个坏的源代码控制系统总比没有源码控制要好。我不明白有人可以把收获称为“优秀”,但是如果它是最好的工具,那么它是最好的工具。是的,我们查看了所有的主要包:塞雷娜、CycReCar、Team Foundation和许多更小的包。就整体可用性而言,收获与我们所看到的一切一样好或更好。看起来,我们看到的许多软件包乍看起来非常酷,但一旦在生产环境中实际运行起来,它们就变得平淡无奇了。Harvest虽然有它自己的问题,但实际上是有效的。我必须切换到对数刻度,以便能够比较Harvest和其他工具之间我的亵渎程度。有关Harvest的讨论,请参阅