gpt4 book ai didi

c - 使用 C 和 Git 处理常见头文件的正确方法

转载 作者:行者123 更新时间:2023-11-30 17:46:03 25 4
gpt4 key购买 nike

所以我有这样的文件夹

c:\projects\generic\
c:\projects\project1\
c:\projects\project2\

项目下的每个文件夹都是自己独立的本地 git 存储库。项目可以使用通用文件夹中的一个或多个头文件。如果项目使用头文件,则它需要位于项目文件夹中,而不是项目文件夹下的子文件夹中。另外,我可能不想要最新和最好的,我想按标签 pull 它,这样我就可以确定我有用于该项目的特定版本的文件。

我该怎么做?这是可以用子模块完成的事情吗?在这种情况下有更好的方法来组织文件夹吗?

最佳答案

I'd want [...] a specific version of the file in use for that project.

是的:子模块就是为了这个目的。子模块是一个嵌套存储库,使用项目的提交记录(仅)准确地记录了他们需要在子模块的路径中 checkout 的(其他)提交 SHA,git submodule 只是执行获取正确子模块的杂务当你需要的时候提交 checkout 。

If a project uses a header file [from another repository], it needs to be right in the project folder, not a subfolder under the project folder [... I'm on windows].

幸运的是这些是 header ,否则该组合就会出现问题。事实上,编译器可以使用 #include "relative/path/to/submodule/header.h" 来追踪相对路径名:

repo
|--generic.h: "#include generic1/generic.h"
|--generic1
|--generic.h: the real thing

关于c - 使用 C 和 Git 处理常见头文件的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19461766/

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