当前位置: 首页 > article >正文

GitLab 提交 C++ 技巧

在 GitLab 中提交 C++ 代码时,通常应只提交 源代码文件(例如 .cpp、.h)和 CMake 配置文件(例如 CMakeLists.txt),而不要提交通过 CMake 编译后的中间文件或构建产物。这些编译后的文件通常包括:

 可执行文件(例如 my_program)
 库文件(例如 .a、.so、.dll)
 临时构建文件(例如 CMakeCache.txt、CMakeFiles/ 目录等)

这些文件是可以根据源代码重新编译得到的,因此不需要提交到版本控制系统中。这样做有几个好处:

1. 减小仓库大小:编译后的文件通常很大,不需要版本控制。
2. 跨平台兼容性:不同的开发者和平台可能会生成不同的编译产物,提交这些文件会造成不必要的冲突和问题。
3. 避免重复工作:其他开发者可以通过 CMake 配置文件重新生成编译产物,而不需要你提交这些临时文件。

 一般的做法是:
1. 在 .gitignore 文件中忽略编译生成的文件和目录。
2. 只提交源代码和构建配置文件。 .gitignore 示例:
gitignore
 

忽略 CMake 编译生成的文件
/build/
CMakeCache.txt
CMakeFiles/

 忽略编译后的可执行文件和库文件
.out
.exe
.dll
.so
.a
.dylib


这样,当其他开发者克隆你的项目后,他们可以在自己的机器上使用 cmake 构建项目,而不需要下载编译产物。


http://www.kler.cn/a/386620.html

相关文章:

  • 生成自签名证书并配置 HTTPS 使用自签名证书
  • Cellebrite VS IOS18Rebooting
  • windows NGIMX配置WebSocket反向代理
  • 解读Nature:Larger and more instructable language models become less reliable
  • 随机数
  • MySQL(5)【数据类型 —— 字符串类型】
  • srs http-flv处理过程
  • C/C++语言基础--C++模板与元编程系列四(类型模板参数、整数、指针 、模板类型)
  • 解题--多数元素
  • Oracle RAC的thread
  • unity实习生面试
  • vite+vue项目创建流程;npm error enoent Could not read package.json异常报错问题
  • 表格全量数据下载(FileSaver和xlsx)
  • Mysql基础 03 pymysql库、事务命令
  • 多个NVR同时管理EasyNVR多品牌NVR管理工具/设备:IP常见问题解决方案
  • Ubuntu 安装yum遇坑
  • Android 重新定义一个广播修改系统时间,避免系统时间混乱
  • Redis 的线程模型
  • 【卷积基础】CNN中一些常见卷积(1*1卷积、膨胀卷积、组卷积、深度可分离卷积)
  • 快速学习Django框架以开发Web API
  • Django 框架:全方位技术分析
  • Linux如何更优质调节系统性能
  • 【网络安全 | 并发问题】Nginx重试机制与幂等性问题分析
  • 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
  • 论文阅读-Event-based Visible and Infrared Fusion via Multi-task Collaboration
  • 机器学习,生成式AI ,LLM大模型,人工智能,他们之间的关系是什么?有什么不同?