gpt4 book ai didi

c++ - 版本控制 : multiple version hell, 文件同步

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:06:02 26 4
gpt4 key购买 nike

我想知道您通常如何处理这种情况:

我有一组实用函数。说..5..10个文件。从技术上讲,它们是静态库、跨平台 - SConscript/SConstruct 加上 Visual Studio 项目(不是解决方案)。

这些实用函数用于多个小项目(15 个以上,数量随着时间的推移而增加)。每个项目都有几个文件或整个库的拷贝,而不是指向一个中心位置的链接。有时项目使用一个文件,两个文件,有些使用一切。通常,实用函数作为每个文件和 SConscript/SConstruct 或 Visual Studio 项目(视情况而定)的拷贝包含在内。每个项目都有一个单独的 git 存储库。有时一个项目源自其他项目,有时则不然。您以随机顺序处理其中的每一个。没有其他人(为了让事情更简单)

当您在处理一个项目时修改这些实用程序函数文件时,就会出现问题。
因为每个项目都有一个文件拷贝,这会引入新版本,这会导致您稍后(例如一周后)尝试猜测哪个版本具有最完整的功能(即您在 a.cpp 中添加了一个函数)时一团糟一个项目,并在另一个项目中向 a.cpp 添加了另一个功能,这创建了一个版本 fork)

您将如何处理这种情况以避免“版本 hell ”?我能想到的一种方法是使用符号链接(symbolic link)/硬链接(hard link),但这并不完美——如果你删除一个中央存储,一切都会完蛋。硬链接(hard link)在双引导系统上不起作用(尽管符号链接(symbolic link)可以)。看起来我需要的是类似高级 git 存储库的东西,其中项目的代码存储在一个本地存储库中,但与多个外部存储库同步。但我不确定该怎么做,或者是否可以使用 git 来做到这一点。

那么,你怎么看?

最佳答案

通常简单的方法是将库作为版本控制中的一个项目,如果有修改,只编辑这个项目。

然后,其他需要该库的项目可以从该库项目中获取需要的文件。

关于c++ - 版本控制 : multiple version hell, 文件同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2943667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com