【git命令操作指南】

目录

常用命令

[📁 添加文件 (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(推荐用于模型文件等))

▲子分支合并到main

▲更新某个提交文件



常用命令

📁 添加文件 (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】时,因为文件上传太大导致文件上传失败,如:

python 复制代码
error: failed to push some refs to 'github.com:SHIP/assistant_zh.git'

一定得先删除添加的任务,可以先执行:

python 复制代码
git rm --cached -r <之前上传文件名>
  1. 安装 Git LFS

    之前安装过了,可以直接从第2步开始

    python 复制代码
    # 如果尚未安装,先安装 Git LFS
    git lfs install
  2. 跟踪大文件

    根据情况选择下面的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"

  3. 重新添加和提交

    python 复制代码
    # 确保 .gitattributes 文件被添加
    git add .gitattributes
    
    # 重新添加 <压缩包名>.zip(现在会被 LFS 跟踪)
    git add <压缩包名>.zip
    
    # 提交更改
    git commit -m "使用 LFS 添加大模型文件"
  4. 推送

    python 复制代码
    git 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 并上传文件

访问:https://github.com/用户名/仓库名/releases/new

1.打开你的 GitHub 仓库

访问项目地址:https://github.com/XXX/XXX

2.创建新的 Release

点击右侧的 "Releases" 链接

或者

直接访问:https://github.com/XXX/XXX

3. 填写 Release 信息

  • Tag version : 输入版本号,如 v1.0.0model-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 <分支名称>
相关推荐
LT_10292 小时前
如何初始化一个本地的项目到远程git仓库?
git·源代码管理
小付爱coding3 小时前
Claude Code安装教程【windows版本】
java·git·python
BIBI20493 小时前
Windows 下 Git 常规操作教程:命令行与 TortoiseGit
windows·git·tortoisegit·配置·版本控制·入门指南
The Straggling Crow6 小时前
熟练版本控制 (Git)、CI/CD 流程。
git·elasticsearch·ci/cd
海绵宝宝_9 小时前
Copilot 一键生成中文 Git Commit Message
git
孫治AllenSun9 小时前
【Git】分支管理
git
甲虫机9 小时前
git 常用命令
git
安果移不动9 小时前
【Git实战】记录一次分支切换失败的排查:Submodule 脏状态与强制切换
git
痕忆丶10 小时前
git 软重置的使用场景git reset --soft HEAD~1
git