最近在为毕业论文算东西。真的要用 git 和 GitHub 了,才发现很有必要补补课,系统学习下 git。先整理了曾经创建的 GitHub 库 phresher/OpenFOAM_Tutorials_Plus,又找了 .gitignore 文件(git 的一个配置),在这里做个笔记。
GitHub 对新手十分友好,有视频介绍工作流程,也有详细的文档介绍具体使用方法。GitHub 有很多客户端,git 是命令行版,管理 OpenFOAM 算例非它不可。
注册 GitHub 后,按照指引创建一个库,创建完成后会有进一步的指引,大致意思是告诉用户如何用命令行创建一个新的库或者是将已有文件添加到这个库。
我的做法是在 Ubuntu 上用 git clone 命令克隆刚刚创建的库,然后找个相近的 tutorial 复制到这个文件夹然后在此基础上修改,运行算例。比如
git clone https://github.com/phresher/OpenFOAM_Tutorials_Plus.git
cd OpenFOAM_Tutorials_Plus
cp -r $FOAM_TUTOTIALS/incompressible/simpleFoam/pitzDaily/ ./
cd pitzDaily
vim system/blockMeshDict
blockMesh > log.blockMesh &
Code language: PHP (php)
这样,这个文件夹里会有很多计算结果、日志之类的文件,这些文件不应该被上传到 GitHub,所以我要配置一个叫做 .gitignore 的文件,告诉 git 那些文件不用上传。十分幸运的是我在网上找到一个为 OpenFOAM 算例写的 .gitignore 文件,Track changes to OpenFOAM case files with Git,我针对4.1版的 OpenFOAM 改了一下,我们来看下这文件长什么样
*.gz
log.*
postProcessing
dynamicCode
*~
processor*
[0-9]*
[0-9]*.[0-9]*
!0.org
!0.orig
*.eMesh
constant/polyMesh/*
*.OpenFOAM
这文件就是一些表达式,文件名符合这些规则的文件将不会被上传到 GitHub。
假如我们已经设置好了整个算例,并计算出了结果,我们可以用 git status 命令看下我们做了哪些改动。然后
git add -A
添加 .gitignore 规则之外的所有文件。确认下状态
git status
确认无误后,提交作业
git commit -m "modified geometry"
Code language: JavaScript (javascript)
这样修改被提交到本地的库,如果要上传到 GitHub
git push
按提示输入用户名密码即可上传。
最后,登录 GitHub 看下刚才的成果吧~