Ubuntu中Fortran如何进行版本控制
导读:Ubuntu下Fortran项目的版本控制实践 一 核心概念澄清 版本控制的对象是Fortran 源代码与工程文件(如 .f90/.f08/.F90、.cmake、Makefile、脚本、文档),而不是编译器本身。编译器如 gfortra...
Ubuntu下Fortran项目的版本控制实践
一 核心概念澄清
- 版本控制的对象是Fortran 源代码与工程文件(如 .f90/.f08/.F90、.cmake、Makefile、脚本、文档),而不是编译器本身。编译器如 gfortran 属于构建工具,需要被“记录其版本与构建方式”,但不应纳入源码仓库。
- 在 Ubuntu 上,最常用的版本控制系统是 Git;配合远程托管(如 GitHub/GitLab)可实现备份与协作。
二 快速上手流程
- 安装与配置
- 安装 Git:
sudo apt update & & sudo apt install git - 配置身份:
git config --global user.name "Your Name";git config --global user.email "you@example.com"
- 安装 Git:
- 初始化仓库与首次提交
cd /path/to/fortran/projectgit initgit add .(或按需添加具体文件)git commit -m "Initial commit"
- 常用日常
- 查看状态与历史:
git status、git log - 分支开发:
git branch feature/x、git checkout feature/x;完成后git checkout main & & git merge feature/x - 远程托管:
git remote add origin < repo-url>;git push -u origin main;协作时git pull origin main
- 查看状态与历史:
三 针对Fortran的推荐做法
- 使用 .gitignore 忽略构建产物与平台文件
- 建议忽略:
*.o、*.mod、*.a、*.so、./build/、/dist/、*.log、*.vtk、*.png(若由脚本自动生成)、编辑器备份与系统文件(如.DS_Store、*~)
- 建议忽略:
- 固化编译器与构建信息
- 记录版本:在项目根目录保存
compiler_version.txt,内容为gfortran --version的输出;或在构建脚本/CI中打印并归档。 - 记录构建方式:使用 CMake 或 Meson 管理构建;将
CMakeLists.txt/meson.build纳入版本控制,不纳入二进制与缓存目录。
- 记录版本:在项目根目录保存
- 依赖与可重复性
- 若使用第三方库(如 BLAS/LAPACK/NetCDF),优先通过系统包管理器或 Spack/Conda 管理,并在仓库中记录版本与安装方式(可在
README.md或docs/dependencies.md说明)。
- 若使用第三方库(如 BLAS/LAPACK/NetCDF),优先通过系统包管理器或 Spack/Conda 管理,并在仓库中记录版本与安装方式(可在
- 协作与发布
- 采用 Git 分支工作流(如 main/develop/feature 或 GitHub Flow),配合 Pull Request/Merge Request 进行代码评审。
- 使用 GitHub Actions/GitLab CI 做持续集成:编译、单元测试、运行示例、生成文档并上传产物。
四 管理多个gfortran版本
- 场景:同一台机器需要 gfortran-9/10/11 等版本用于不同项目。
- 安装多个版本(示例)
- 添加工具链 PPA:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y & & sudo apt update - 安装所需版本:
sudo apt install gfortran-9 gfortran-10 gfortran-11
- 添加工具链 PPA:
- 切换与验证
- 使用 update-alternatives 切换默认
gfortran:- 注册备选:
sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-9 90 - 交互切换:
sudo update-alternatives --config gfortran
- 注册备选:
- 验证:
gfortran --version
- 使用 update-alternatives 切换默认
- 建议:在项目的 README/配置脚本 中写明所需 gfortran 版本,避免“在我机器上能跑”的问题。
五 常用命令清单
- 仓库与提交
git init、git add < file>、git commit -m "msg"、git status、git log
- 分支与合并
git branch < name>、git checkout < name>、git merge < name>、git branch -d < name>
- 远程协作
git remote add origin < url>、git push -u origin main、git pull origin main、git clone < url>
- 查看与回滚
- 查看差异:
git diff、git show < commit> - 撤销与回滚:
git revert < commit>(安全撤销)、git reset --hard < commit>(谨慎使用,会丢失工作区改动)
- 查看差异:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu中Fortran如何进行版本控制
本文地址: https://pptw.com/jishu/789298.html
