Git管理科研课题中的代码文件
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
在平时科研学习中,我们要学会使用Git管理课题中的代码、学习笔记、论文等。
提示:以下是本篇文章正文内容,下面案例可供参考
一、实现远程托管项目
1.在github上新建私有仓库
注意:千万不要勾选:
Add a README file
Add .gitignore
Choose a license
这样远程仓库就是空的,后面推送最省事。
2.1 在本地项目目录初始化 Git
代码如下:
cd 你的项目路径
git init
把当前项目目录下的所有文件和文件夹都列出来。
find .
我的项目中的文件类型很多(如.py文件、csv文件、pdf、png等),我只需要git帮我管理代码文件(如.py文件),不需要管理数据集、实验结果文件。因此,下一步创建 .gitignore文件。
2.2 创建 .gitignore
在项目根目录新建 .gitignore,内容写为:
# 默认忽略所有文件
*
# 允许 Git 继续进入各级目录
!*/
# 只保留 Python 源码文件
!*.py
# 保留 gitignore 本身
!.gitignore
# 同时把 .idea/ 和 .vscode/ 整个排除掉
.idea/
.vscode/
这版规则的效果是:
.csv、.txt、.png、.pdf、.xlsx、.pickle、.pyc
.idea/、.vscode/
pycache/
各种 data/、figs/、results/
都会被忽略。只有 .py 文件会被纳入 Git。
检查现在 Git 眼里将要上传的内容:
git status
也可以使用命令
git status --untracked-files=all
会把“到底哪些具体文件会被当作未跟踪文件”完整列出来,而不是只显示目录名。
2.3 添加文件
git add .
2.4 提交
git commit -m "Initial commit"
2.5 连接并推送到远程的GitHub仓库
2.5.1 添加远程仓库
把下面命令里的地址换成你自己的 GitHub 私有仓库地址:
git remote add origin https://github.com/你的用户名/你的仓库名.git
例如:
git remote add origin https://github.com/BellaLee/HON.git
检查一下是否添加成功:
git remote -v

远程仓库已经配置好了,地址没问题。
2.5.2 把分支名改成 main
git branch -M main
2.5.3 推送到 GitHub
git push -u origin main
现在 GitHub 一般不会再让你直接用账号密码推送,常见情况是:
- 浏览器弹窗授权登录 GitHub
- 或要求使用 Personal Access Token
按提示操作即可。


已经成功了。
本地项目已经推送到 GitHub 私有仓库,关键信息是:
- main -> main:本地 main 分支已经成功推到远程
- branch ‘main’ set up to track ‘origin/main’:以后这个分支会默认跟踪远程 origin/main
也就是说,现在已经完成了“只上传 .py 文件到 GitHub 私有仓库”的目标。
2.5.4 后续维护
后续最常用的命令:
- 查看当前 Git 状态
git status
通常它会告诉你这几类信息:
①当前在哪个分支。例如,
On branch main
你的本地分支和远程分支关系。例如,
Your branch is ahead of 'origin/main' by 1 commit
意思是你本地比远程多了 1 次提交,还没 push。
②哪些文件被修改了
modified: main.py
意思是 main.py 被你改过了,但这些修改还没有进入下一次提交。
③哪些文件是新文件
untracked files:
new_script.py
意思是这个文件存在,但 Git 还没有开始跟踪它。
④哪些文件已经进入暂存区
Changes to be committed:
modified: main.py
意思是这些文件已经被 git add 了,下一次 git commit 时会被提交。
- 把当前目录下的所有改动加入暂存区
git add .
Git 不是你一修改文件就自动提交。
它一般分三步:
①你先修改文件
②用 git add 选中要提交的内容
③用 git commit 真正生成一次提交
所以 git add 的作用不是“提交”,而是:告诉 Git:这些改动我要放进下一次提交里。
Git 一共有三层:
第一层:工作区。就是你电脑上真实在编辑的文件。
第二层:暂存区。用 git add 挑选出来,准备下一次提交的内容。
第三层:仓库历史。就是已经通过 git commit 固化下来的版本历史。
- 生成本地版本
执行命令:
git commit -m "细致的修改说明"
之后,Git 会做几件事:
①读取暂存区里的内容
②生成一个新的提交对象
③给这个提交分配一个唯一哈希值
④记录作者、时间、说明文字
⑤把当前分支指针移动到这个新提交上
所以,commit 的本质是:把你已经选中的改动,保存成一个正式版本。提交后,这些改动被保存到本地Git 仓库历史里了,此时还没有上传到远程的GitHub仓库。
- 同步到github(把本地提交推送到远程仓库的命令)
git push
比如你本地有 3 次新提交,远程还没有,执行该命令,Git就会把这 3 次提交一起发到 GitHub。
- 一键回退
当你把代码改崩了,或者发现新实验效果不如旧版本时,这个指令能救命。该命令把当前目录下所有“还没有提交”的修改,恢复到最近一次提交时的状态。也就是说,它会把你工作区里改过但尚未 commit的内容直接丢掉。
git checkout .
注意:很多人现在不推荐用它,因为这个命令危险且含义不够直观。建议新手先不要尝试。
参考
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)