目录
[📁 添加文件 (Add)](#📁 添加文件 (Add))
[🗑️ 删除文件 (Remove)](#🗑️ 删除文件 (Remove))
[✏️ 修改提交 (Modify)](#✏️ 修改提交 (Modify))
[🔍 查看信息 (Check/Query)](#🔍 查看信息 (Check/Query))
[📊 分支操作 (Branch)](#📊 分支操作 (Branch))
[📤 推送拉取 (Push/Pull)](#📤 推送拉取 (Push/Pull))
[▲使用 SSH 方式连接仓库](#▲使用 SSH 方式连接仓库)
[方法一:Git LFS](#方法一:Git LFS)
[方案二:GitHub Releases(推荐用于模型文件等)](#方案二:GitHub Releases(推荐用于模型文件等))

常用命令
📁 添加文件 (Add)
| 命令 | 说明 | 使用场景 |
|---|---|---|
git add <file> |
添加单个文件到暂存区 | 最常用,添加特定文件 |
git add . |
添加当前目录所有新文件和修改 | 日常开发最常用 |
git add -A |
添加所有变化(新增、修改、删除) | 清理工作区时使用 |
git add -u |
添加已跟踪文件的修改和删除 | 只更新已存在的文件 |
git add -p |
交互式选择添加代码块 | 精细控制提交内容 |
🗑️ 删除文件 (Remove)
| 命令 | 说明 | 使用场景 |
|---|---|---|
git rm <file> |
删除文件并暂存删除操作 | 要从版本库删除文件时 |
git rm -r <dir> |
递归删除目录 | 删除整个目录 |
git rm --cached <file> |
从暂存区删除,保留工作区文件 | 文件要加入.gitignore时 |
git rm -f <file> |
强制删除已修改的文件 | 确认要丢弃更改时 |
✏️ 修改提交 (Modify)
| 命令 | 说明 | 使用场景 |
|---|---|---|
git commit --amend |
修改最近一次提交 | 忘记添加文件或写错信息 |
git commit --amend -m "新信息" |
直接修改上次提交信息 | 快速修正提交信息 |
git rebase -i HEAD~n |
交互式修改历史提交 | 修改多个历史提交 |
git reset --soft HEAD~1 |
撤销提交但保留更改 | 重新组织提交 |
🔍 查看信息 (Check/Query)
| 命令 | 说明 | 使用场景 |
|---|---|---|
git status |
查看工作区和暂存区状态 | 最常用,随时查看状态 |
git log --oneline |
简洁显示提交历史 | 查看历史记录 |
git log -p |
显示提交的详细差异 | 查看具体代码变化 |
git diff |
查看未暂存的更改 | 提交前检查代码 |
git diff --cached |
查看已暂存的更改 | 确认将要提交的内容 |
git show <commit> |
显示某次提交的详情 | 查看特定提交内容 |
📊 分支操作 (Branch)
| 命令 | 说明 | 使用场景 |
|---|---|---|
git branch |
查看所有分支 | 查看当前分支结构 |
git checkout <branch> |
切换到分支 | 分支切换 |
git switch <branch> |
切换到分支(新版本) | 推荐的分支切换方式 |
git checkout -b <branch> |
创建并切换到新分支 | 创建功能分支 |
git merge <branch> |
合并分支 | 合并代码到主分支 |
📤 推送拉取 (Push/Pull)
| 命令 | 说明 | 使用场景 |
|---|---|---|
git push origin <branch> |
推送到远程分支 | 提交代码到远程仓库 |
git pull origin <branch> |
拉取远程更新 | 获取最新代码 |
git push --force-with-lease |
安全强制推送 | 修改历史后推送 |
git fetch |
获取远程更新但不合并 | 查看远程变化 |
修改特定提交说明
使用git replace(较新版本的Git)
python
git replace dcbdd88 $(echo "新的提交说明" | git commit-tree dcbdd88^{tree})
▲dcbdd88:提交编码,可以在github对应上传的文件上看到

获取远程分支信息
python
git fetch origin
查看所有分支
查看所有创建分支(当前分支前有 * 号)
python
git branch -a
返回主分支
返回主分支main,如果主分支是master,main就换成master;
python
git checkout main
常用组合命令
▲基础设置
创建新仓库第一步需要用到的组合命令
**说明:**以下命令在创建github仓库会有对应的命令,按你创建的仓库所属的对应命令,顺序执行即可
python
# 基础设置
echo "# <指定上传文件夹>" >> README.md
git init
git add README.md
git commit -m "<提交说明:自定义>"
git branch -M main
git remote add origin <远程仓库地址>
git push -u origin main
▲使用 SSH 方式连接仓库
什么时间用?在执行【git push -u origin main】失败时
1.设置全局配置
这一步设置一次即可(一般刚安装时会用到),后续新建仓库推送新项目时从第二步开始即可。
python
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
git config --global init.defaultBranch main
2.检查是否已有 SSH 密钥
如果没有,生成新的 SSH 密钥
python
ls -al ~/.ssh
3.生成 SSH 密钥
python
ssh-keygen -t ed25519 -C "your_email@example.com"
按回车接受默认位置,设置密码(可选)
4.将公钥添加到 GitHub
python
cat ~/.ssh/id_ed25519.pub
复制输出内容,到 GitHub → Settings → SSH and GPG keys → New SSH key→将内容粘贴到"key",title随便写
5.修改远程仓库地址为 SSH
python
git remote set-url origin git@github.com:你的用户名/你的仓库名.git
6.测试连接
python
ssh -T git@github.com
7、推送文件
执行推送命令即可
▲推送文件
以下是演示的是将test目录推送到main,该操作会把这个目录及目录下文件推送到main分支。
python
#添加test文件
git add test/
#提交任务
git commit -m "提交说明:自定义编写"
#上传main分支
git push origin main
▲上传大文件
方法一:Git LFS
文件超过了 GitHub 的 100MB 文件大小限制直接推送会报错,需要做以下处理:
【注意 】
在用这个方法之前,如果你的文件在执行上传文件命令【git push origin main】时,因为文件上传太大导致文件上传失败,如:
pythonerror: failed to push some refs to 'github.com:SHIP/assistant_zh.git'一定得先删除添加的任务,可以先执行:
pythongit rm --cached -r <之前上传文件名>
-
安装 Git LFS
之前安装过了,可以直接从第2步开始
python# 如果尚未安装,先安装 Git LFS git lfs install -
跟踪大文件
根据情况选择下面的3中跟踪方法。
python#文件夹:跟踪整个文件夹文件 git lfs track "上传的文件夹名/*" # 单文件:跟踪 ZIP 文件 git lfs track "*.zip" # 或者只跟踪特定的 model.zip 文件 git lfs track "<压缩包名>.zip"如果要跟踪其他类型文件改成对应文件后缀即可。如:上传pdf改为【git lfs track *.pdf】或【git lfs track "<文件名>.zip"】
-
重新添加和提交
python# 确保 .gitattributes 文件被添加 git add .gitattributes # 重新添加 <压缩包名>.zip(现在会被 LFS 跟踪) git add <压缩包名>.zip # 提交更改 git commit -m "使用 LFS 添加大模型文件" -
推送
pythongit push origin main
方案二:GitHub Releases(推荐用于模型文件等)
如果LFS解决不了就可以用这个方法,先执行下面命令【1】移除大文件(如果之前有提交的)
1. 从 Git 中移除大文件
python
git rm --cached 大文件.zip
echo "大文件.zip" >> .gitignore
git add .gitignore
git commit -m "移除大文件,准备使用 Releases"
git push origin main
2. 在 GitHub 网页端创建 Release 并上传文件
1.打开你的 GitHub 仓库
访问项目地址:
https://github.com/XXX/XXX

2.创建新的 Release
点击右侧的 "Releases" 链接
或者
直接访问:
https://github.com/XXX/XXX

3. 填写 Release 信息
-
Tag version : 输入版本号,如
v1.0.0或model-v1 -
Release title: 如 "BERT 模型文件发布"
-
Description: 添加描述,例如:
包含训练好的 BERT 模型文件
文件: model.zip
大小: 364 MB
用途: 用于文本分类任务
4.上传文件
将本地的 model.zip 文件拖到 "Attach binaries" 区域
等待上传完成
5.发布
点击 "Publish release" 按钮

6.更新项目文档
在项目的 README.md 中添加下载链接:以下内容作为书写格式参考内容
python
## 模型文件下载
由于模型文件较大(364MB),已通过 GitHub Releases 分发:
### 下载方式
1. **直接下载**:
- 访问 [Releases 页面](https://github.com/SHIPKING110/bert_train_more/releases)
- 下载最新版本的 `model.zip` 文件
2. **使用命令行下载**:
```bash
# 下载最新版本的 model.zip
wget https://github.com/SHIPKING110/bert_train_more/releases/latest/download/model.zip
# 或者使用 curl
curl -L -o model.zip https://github.com/SHIPKING110/bert_train_more/releases/latest/download/model.zip
7、验证
python
#检查 Git 仓库大小
git count-objects -vH
# 测试下载(可选)
方式一:使用 wget(Linux/Mac/WSL)
wget https://github.com/SHIPKING110/bert_train_more/releases/latest/download/model.zip
方式二:使用 curl(跨平台)
curl -L -o model.zip https://github.com/SHIPKING110/bert_train_more/releases/latest/download/model.zip
方式三:浏览器下载
用户直接在浏览器打开 Releases 页面手动下载。
▲子分支合并到main
以下演示的是将子分支bert_train合并到main。一般在团队开发时创建了多个子分支,最终合并到main这个主分支中。该操作会把子目录中的文件合并到main目录下。
python
# 1. 先确保工作区是干净的
git status
# 2. 切换到 main 分支
git checkout main
# 3. 更新到最新版本
git pull origin main
# 4. 合并 bert_train
git merge bert_train
# 5. 如果有冲突,解决冲突后提交
# git add .
# git commit -m "解决合并冲突"
# 6. 推送
git push origin main
▲更新某个提交文件
文件上传github了,想对某个文件进行更新。
python
#指定test.py文件
echo "" >> test.py
#添加文件
git add test.py
#提交文件
git commit -m "更新文件(随意写)"
#上传github仓库
git push origin <分支名称>