张宁的个人博客
莫道君行早,更有早行人。
好好上网
业余无线电
效率提升
软硬件知识
新能源汽车
S1:短波频率
关于
张宁的个人博客
上一篇
下一篇
Git 常用命令速查&参数说明
张宁的个人博客
2026-01-18
阅读 4
软件&硬件
## 1. Git 常用命令速查 | 命令 | 作用 | 使用时机 | | --- | --- | --- | | `git --version` | 查看 Git 版本 | 检查安装 | | `git config --global --list` | 查看全局配置 | 检查名称和邮箱 | | `git init` | 初始化仓库 | 开始管理本地项目 | | `git status` | 查看状态 | 操作前后检查 | | `git add .` | 暂存当前目录改动 | 准备提交 | | `git add 文件名` | 暂存指定文件 | 选择性提交 | | `git commit -m "说明"` | 创建提交 | 保存本地版本 | | `git diff` | 查看未暂存差异 | 检查修改内容 | | `git log --oneline` | 查看精简历史 | 查找提交编号 | | `git branch` | 查看本地分支 | 确认当前分支 | | `git switch -c feature/xxx` | 创建并切换分支 | 开发新功能 | | `git switch main` | 切换到主线 | 回到 main | | `git remote -v` | 查看远程地址 | 检查 GitHub 关联 | | `git push -u origin main` | 首次推送并设置上游 | 首次上传主线 | | `git push` | 推送提交 | 同步本地提交 | | `git pull` | 拉取并整合远程更新 | 同步远程修改 | | `git fetch` | 获取远程更新但不自动合并 | 先检查远程变化 | | `git clone URL` | 克隆远程仓库 | 在新电脑获取项目 | | `git merge feature/xxx` | 合并指定分支到当前分支 | 完成功能开发 | | `git tag -a v1.0.0 -m "说明"` | 创建附注标签 | 标记正式版本 | | `git push origin v1.0.0` | 推送指定标签 | 将版本标签上传 | | `git revert
` | 新增撤销提交 | 安全撤销已提交改动 | | `git restore --staged 文件名` | 撤销暂存但保留修改 | 误执行 git add 时 | | `git stash push -u -m "说明"` | 暂存当前改动 | 临时切换任务 | | `git archive --format=zip ...` | 生成指定版本的 ZIP | 制作源码归档 | ## 2. Git 命令中的英文单词与参数说明 ### 2.1 Git 命令的基本结构 ``` text git <子命令> [选项] [参数] ``` | 组成部分 | 说明 | 示例 | | --- | --- | --- | | `git` | 启动 Git 程序 | `git status` | | 子命令 | 指定操作类型 | `init`、`status`、`add`、`commit`、`push` | | 选项 | 改变子命令行为,通常以 `-` 或 `--` 开头 | `--global`、`-m`、`-u` | | 参数 | 为命令提供目标或内容 | `main`、`origin`、文件路径、仓库 URL | | 引号中的文字 | 用户填写的说明或含空格的参数值 | `"first commit"` | 并不是 `git` 后面的每个英文词都是子命令。有些是选项,有些是分支名、文件路径或普通参数。 ### 2.2 常见 Git 子命令 | 英文 | 中文含义 / 词源 | 在 Git 中的用途 | | --- | --- | --- | | `init` | initialize:初始化 | 创建新的本地仓库 | | `config` | configuration:配置 | 读取或修改 Git 配置 | | `status` | 状态 | 显示工作区、暂存区和分支状态 | | `add` | 添加 | 把文件改动加入暂存区 | | `commit` | 提交、确认 | 创建一次版本记录 | | `diff` | difference:差异 | 比较文件或提交之间的差异 | | `log` | 日志、记录 | 查看提交历史 | | `branch` | 分支 | 列出、创建、重命名或删除分支 | | `switch` | 切换 | 切换当前分支 | | `remote` | 远程的 | 管理远程仓库地址 | | `push` | 推送 | 把本地提交上传到远程仓库 | | `pull` | 拉取 | 获取远程更新并整合到当前分支 | | `fetch` | 获取 | 获取远程对象和引用,但不自动合并到当前分支 | | `clone` | 克隆 | 复制远程仓库及其历史到本地 | | `merge` | 合并 | 把其他分支整合到当前分支 | | `tag` | 标签 | 给特定提交标记名称 | | `show` | 显示 | 显示提交、标签等对象的详细信息 | | `restore` | 恢复 | 恢复文件内容或暂存状态 | | `revert` | 反转、撤销 | 通过新提交反向撤销之前提交的效果 | | `rm` | remove:移除 | 从 Git 跟踪或工作区移除文件 | | `stash` | 暂存、存放 | 临时保存尚未提交的改动 | | `archive` | 归档 | 将指定提交或标签中的文件导出为归档文件 | ### 2.3 常见选项、参数和符号 | 单词 / 符号 | 类型 | 具体含义 | | --- | --- | --- | | `--global` | 选项 | 设置当前系统用户级配置,不是 Git 子命令 | | `--list` | 选项 | 列出配置项 | | `--version` | 选项 | 显示 Git 版本 | | `-m` | 选项 | message,指定 Commit 或 Tag 的说明文字 | | `-u` | 选项 | push 中是 `--set-upstream` 的简写,建立上游跟踪关系 | | `-v` | 选项 | verbose,显示更详细的信息 | | `-c` | 选项 | switch 中表示创建分支并切换 | | `-d` | 选项 | branch 中安全删除已合并分支 | | `-M` | 选项 | branch 中强制重命名分支 | | `-a` | 选项 | tag 中创建附注标签 | | `--staged` | 选项 | restore 中指定对暂存区操作 | | `--worktree` | 选项 | restore 中指定对工作区操作 | | `--cached` | 选项 | rm 中只从 Git 索引移除,不删除本地文件 | | `--oneline` | 选项 | log 中将每条提交压缩成一行 | | `--format=zip` | 选项 | archive 中指定 ZIP 格式 | | `--output=路径` | 选项 | 指定归档文件输出位置 | | `--force` | 选项 | 强制执行;使用不当可能覆盖远程历史 | | `--hard` | 选项 | reset 中将工作区和暂存区强制重置到目标提交 | | `.` | 路径参数 | 当前目录,常用于 `git add .` | | `main` | 分支名参数 | 主分支名称,不是 Git 子命令 | | `origin` | 远程别名 | 本地给远程仓库起的惯用名称,不是 Git 子命令 | | `feature/xxx` | 分支名参数 | 功能分支示例名称,不是 Git 命令 | | `v1.0.0` | 标签名参数 | 版本标签名称,不是 Git 命令 | | `URL` | 地址参数 | 远程 Git 仓库地址 | ### 2.4 Fetch、Pull 和 Push 的区别 | 单词 | 含义 | 记忆方式 | | --- | --- | --- | | `fetch` | 获取远程更新和对象,不自动合并到当前分支 | 先取回来,暂不整合 | | `pull` | 获取远程更新并整合到当前分支 | 取回来并更新当前分支 | | `push` | 把本地提交发送到远程仓库 | 把本地提交推上去 | ### 2.5 GitHub 常见英文界面词汇 | 英文 | 中文含义 | 说明 | | --- | --- | --- | | Repository | 仓库 | 项目代码和版本历史的容器 | | New repository | 新建仓库 | 在 GitHub 创建远程仓库 | | Private | 私有 | 只有获得授权的用户可以访问 | | Public | 公开 | 任何人都可以访问仓库内容 | | Branch | 分支 | 独立开发路线 | | Pull Request | 拉取请求 / 合并请求 | 申请把一个分支合并到另一个分支 | | Compare | 比较 | 比较两个分支或提交的差异 | | Merge | 合并 | 把修改整合到目标分支 | | Commit | 提交 | 一次版本记录 | | History | 历史 | 提交记录列表 | | Release | 发布 | 对外发布一个版本及其说明、附件 | | Assets | 附件 / 资源 | Release 页面可下载的文件 | | Issues | 问题 / 事项 | 记录 Bug、建议和待办 | | Clone | 克隆 | 把远程仓库复制到本地 | | Fork | 派生仓库 | 在自己的账号下创建另一个仓库副本,常用于开源协作 | ## 3. NuliBlog 推荐工作流程 ### 3.1 首次建立仓库 ``` bash # 1. 配置 Git git config --global user.name "Developer" git config --global user.email "developer@example.com" # 2. 进入项目目录(Git Bash 示例) cd /d/Projects/NuliBlog # 3. 初始化仓库 git init # 4. 检查项目状态 git status # 5. 确认 .gitignore 已建立并检查文件 git add . git status # 6. 创建首次提交 git commit -m "Initial commit: NuliBlog" # 7. 关联 GitHub 远程仓库 git remote add origin https://github.com/用户名/NuliBlog.git # 8. 确保主分支名为 main git branch -M main # 9. 首次推送 git push -u origin main ``` ### 3.2 每次开发新功能 ``` bash # 1. 回到主线 git switch main # 2. 获取远程最新内容 git pull # 3. 创建功能分支 git switch -c feature/本次功能 # 4. 修改项目代码后检查状态和差异 git status git diff # 5. 暂存改动 git add . # 6. 创建提交 git commit -m "feat: add a new feature" # 7. 首次推送该功能分支 git push -u origin feature/本次功能 ``` 随后在 GitHub 网页创建 Pull Request,检查修改并合并到 main。 ### 3.3 合并后同步本地主线 ``` bash git switch main git pull ``` 确认功能已经合并到 main,并完成必要测试。 ### 3.4 正式发布 ``` bash # 为当前稳定提交创建附注标签 git tag -a v1.0.0 -m "NuliBlog stable release 1.0.0" # 将标签推送到 GitHub git push origin v1.0.0 ``` 之后在 GitHub Releases 页面基于该 Tag 创建 Release,填写更新说明,并按需要上传经过筛选的部署包。 ### 3.5 推荐的日常原则 1. **先检查,再暂存。** 使用 `git status` 和 `git diff` 检查 AI 或人工修改的内容。 2. **先提交,再推送。** Commit 保存本地版本,Push 同步到 GitHub。 3. **功能开发使用独立分支。** 避免未经测试的修改直接影响稳定主线。 4. **测试通过后再合并。** Pull Request 可用于检查改动。 5. **发布前创建 Tag。** Tag 用于标记一个明确的稳定版本。 6. **代码与网站数据分开备份。** Git 管理代码历史,不能代替数据库、上传附件和生产服务器的独立备份。 7. **保护敏感信息。** 不要把密码、API Key、私钥或生产环境机密提交到仓库。 ------------------------------------------------------------------------ **总结:** Git 通过 Commit 保存历史版本,通过 Branch 管理不同开发路线,通过 HEAD 确定当前工作区对应的位置;GitHub 则提供远程托管、Pull Request 和 Release 等协作能力。掌握这套机制后,无论是网站、博客主题、插件还是其他软件项目,都可以使用相同的版本管理方法。
文章关键词
git
git常用命令
git参数说明
发表评论
让交流带来新的灵感
取消回复
友善表达,认真交流