677 字
3 分钟
Git 常用指令
2025-02-16

Git 常用指令#

  • 设置用户名:git config --global user.name 用户名
  • 设置邮箱:git config --global user.email 邮箱
  • 克隆最新的远程仓库:git clone url
  • 拉取最新的远程仓库:git pull
  • 添加文件到暂存区:git add
    • 添加所有文件:git add .
    • 添加特定文件:git add main.c
  • 提交代码:git commit -m "message"
  • 修改提交信息:git commit --amend -m "new message"
  • 设置远程仓库:git remote set-url origin url
  • 取消上次提交,但保留修改内容:git reset --soft HEAD~1

Git Branch 分支操作#

显示所有分支:

Terminal window
git branch -a

创建并切换到分支:

Terminal window
git branch branch1
git checkout branch1
# 或合并成下面:
git checkout -b branch1

将 branch2 合并到 branch1 上:

Terminal window
git checkout branch1 # 切换到需要合并的分支
git merge branch2 # 将 branch_name2 合并到 branch1 上

将 branch2 合并到 branch1 上,但需要忽略 branch2 的所有更改:

Terminal window
git checkout branch1
git merge -s ours branch2
# -s ours 表明在合并分支时,完全忽略对方分支(branch2)的更改

Git Rmote 远程仓库#

git push 每次都需要密码,可以通过下面两种方式解决

git 远程仓库的地址为 ssh 格式,而不是 http格式:

Terminal window
git remote set-url origin git@gitlab.example.com:user/remote.git

http 格式可以通过凭证助手缓存账号和密码:

Terminal window
# Windows 凭据管理器(加密存储)
git config --global credential.helper wincred
# 通用凭据管理器(明文存储)
git config --global credential.helper store
# 推荐
git config --global credential.helper manager

Git 提交信息前缀#

| 前缀 (type) | 适用场景 | 是否自动生成 CHANGELOG | 示例 | | feat | 为代码库添加一个新功能 | 是 | feat(user): 添加微信登录功能 | | fix | 修复了一个代码缺陷 (bug) | 是 | fix(api): 修复用户信息接口超时问题 | | chore | 杂务和辅助工具变动,如构建流程、依赖更新、配置文件修改 | 否 | chore: 将React从17.0升级到18.0 | | revert | 撤销某次历史提交 | 否 | revert: 撤销feat: 添加微信登录功能的提交 | | docs | 仅对文档进行变更,不影响代码 | 否 | docs: 更新README中的安装说明 | | style | 代码样式调整,如空格、缩进、末尾分号等,不改变逻辑 | 否 | style: 统一代码缩进为2个空格 | | refactor | 代码重构,如重命名变量、优化结构,不改变外部行为 | 否 | refactor(utils): 重构日期格式化函数 | | test | 添加或修改测试代码,如单元测试、集成测试 | 否 | test(auth): 增加用户登录失败的测试用例 | | perf | 性能优化相关的代码变更 | 否 | perf: 使用懒加载优化图片渲染 | | ci | 修改持续集成(CI)的配置或脚本 | 否 | ci: 将GitHub Actions的Node版本更新为18 |

Git 常用指令
https://fuwari.vercel.app/posts/工具/git-常用指令/
作者
Asuwee
发布于
2025-02-16
许可协议
CC BY-NC-SA 4.0