当前位置: 首页 > news >正文

Git 指令速查(含常见工作流 + 易错点)

一、初始化与全局设置

# 初始化仓库(已有项目想纳入Git)gitinit# 配置全局用户名/邮箱(提交者信息)gitconfig--globaluser.name"你的名字"gitconfig--globaluser.email"you@example.com"# 推荐:显示彩色 + 简洁日志别名gitconfig--globalcolor.ui autogitconfig--globalalias.lg"log --oneline --graph --decorate --all"

二、获取 代码 (clone / remote)

# 1) 首次克隆(HTTPS)gitclone https://gitee.com/owner/repo.git# 2) 首次克隆(SSH,建议常用)gitclone git@gitee.com:owner/repo.git# 3) 查看/添加/修改远端gitremote-vgitremoteaddorigin git@gitee.com:owner/repo.gitgitremote set-url origin git@gitee.com:owner/repo.git

三、分支管理(创建/切换/重命名/删除/上游跟踪)

# 查看本地/远程分支gitbranch# 本地gitbranch-a# 本地 + 远程gitbranch-vv# 含上游跟踪信息# 创建分支(基于当前分支)gitbranch feature/x# 直接创建并切换gitcheckout-bfeature/x# 或 2.23+ 新语法(推荐)gitswitch-cfeature/x# 切换已有分支gitcheckout devgitswitch dev# 将本地分支与远程同名分支建立跟踪关系(常用)gitbranch --set-upstream-to=origin/dev dev# 或者首次push时顺便设定上游gitpush-uorigin dev# 分支重命名(当前分支)gitbranch-m新名字# 重命名其它分支gitbranch-m旧名 新名# 删除分支(本地)gitbranch-dfeature/x# 安全删除(已合并)gitbranch-Dfeature/x# 强制删除(未合并)# 删除远程分支gitpush origin--deletefeature/xAI写代码bash

四、拉代码(更新本地)

# 拉取最新引用,但不合并(安全、快)gitfetch origingitfetch--all--prune# 多远端或清理已删远程分支# 将远端分支合并到当前分支(生成合并提交)gitpull# 等价于 git fetch + git merge# 将本地提交“重放”到远端最新之上(历史更干净)gitpull--rebase# 更新当前分支到远端devgitpull origin dev

建议:团队主干分支(如dev/main)日常用git pull --rebase,减少无意义的 merge 节点。

五、查看修改与暂存

gitstatus# 看工作区/暂存区状态gitdiff# 看未暂存的改动gitdiff--staged# 看已暂存的改动gitadd<file># 暂存指定文件gitadd.# 暂存当前目录所有改动gitrestore<file># 丢弃工作区改动(危险)gitrestore--staged<file># 从暂存区移回工作区AI写代码bash

六、提交与 信息 编写

gitcommit-m"feat: 新增xxx"gitcommit-m"fix: 修复xxx"gitcommit--amend# 修改最近一次提交(包含信息/内容)# 提交规范(推荐)# feat: 新功能# fix: 修Bug# docs: 文档# refactor: 重构(不改功能)# perf: 性能优化# test: 测试# chore/build/ci: 杂项/构建/CI

七、 推送 (首次/常规/强推)

# 首次把本地分支推到远端并建立上游gitpush-uorigin feature/x# 常规推送gitpush# 修改了历史(rebase/amend/reset后)需要强推gitpush --force-with-lease# 更安全的强推

八、合并与变基(merge / rebase)

# 1) merge:保留分叉历史,简单稳妥gitswitch devgitmerge feature/x# 2) rebase:让历史线性(提交“挪到”目标分支之后)gitswitch feature/xgitrebase dev# 发生冲突后:修完文件 → git add 修冲突的文件 → git rebase --continue# 放弃变基:git rebase --abort

九、挑拣提交 / 回滚 / 回退(cherry-pick / revert / reset)

# 1) 挑拣:把某个提交“复制”到当前分支gitlog--onelinegitcherry-pick<commit># 2) Revert(推荐):生成一个“反向提交”来撤销某次提交(保留历史)gitrevert<commit># 3) Reset(危险):移动分支指针(会改历史)gitreset--soft<commit># 仅移动HEAD,保留暂存与工作区gitreset--mixed<commit># 默认,保留工作区,清空暂存gitreset--hard<commit># 工作区也还原(不可逆!请三思)

十、暂存工作现场(stash)

gitstash push-m"WIP: 正在做xxx"gitstash listgit stash show-pstash@{0}# 查看内容gitstash pop# 恢复并删除这条stashgitstash apply stash@{2}# 恢复但保留stash记录AI写代码bash

十一、查看历史(日志/对比/定位)

gitlg# 前面设置的别名,清爽查看历史gitlog--oneline--graph--decorate--allgitblame path/to/file# 定位每行最后一次修改者gitshow<commit># 查看某个提交详情gitdiff<commit1><commit2># 对比两次提交差异AI写代码bash

十二、标签(版本打点)

gittag# 列出标签gittag v1.0.0# 轻量标签gittag-av1.0.0-m"Release 1.0.0"# 附注标签(推荐)gitpush origin v1.0.0git push--tags# 一次性推全部标签

十三、子模块(若项目里引用其它仓库)

gitsubmoduleaddgit@gitee.com:owner/libX.git third_party/libXgitsubmodule update--init--recursivegitpull --recurse-submodules

十四、常见 工作流 (直接套用)

A) 开新功能 → 提交 → 推远端 → 合并到 dev

gitswitch devgitpull--rebasegitswitch-cfeature/plan-tracker# 开发...gitadd.gitcommit-m"feat: 轨迹跟踪模块初版"gitpush-uorigin feature/plan-tracker#提 PR/MR 或在本地合并:gitswitch devgitpull--rebasegitmerge --no-ff feature/plan-trackergitpush

B) 同步远端更新并继续开发(避免冲突)

gitswitch feature/plan-trackergitfetchgitrebase origin/dev# 把本地工作挪到最新dev之后# 解决冲突 → git add … → git rebase --continuegitpush --force-with-lease

C) 紧急修复(从 dev 切分支、修完合回)

gitswitch devgitpull--rebasegitswitch-chotfix/xxx# 修...gitcommit-m"fix: xxx"gitswitch devgitmerge --no-ff hotfix/xxxgitpush
http://www.cnnetsun.cn/news/1277261.html

相关文章:

  • 沃虎电子(VOOHU)-- 千兆以太网低残压大电流方案参考
  • 大数据领域数据产品的交通运输行业应用
  • 从广告驱动到伙伴驱动:2026年SaaS出海的联盟分销战略
  • 基于STM32与ESP-01S的物联网实战:AP/STA双模式详解与阿里云平台接入
  • 迅雷故意限速如何解决?迅雷2026免费SVIP兑换码
  • 基于REX-UniNLU的智能知识图谱构建
  • 一个大学生的编程学习规划
  • 实时手机检测-通用模型Linux部署全攻略
  • 创新创业大赛(本科生)
  • 新手入门i2c:借助快马生成带详解的Arduino设备扫描程序
  • 向AI学习项目技能(三)
  • 我没有那么多数据,​我需要马上学,我不要硬规则,​我可以逐步学习,​现在我边标边学
  • 蓝桥杯2080、2120、2377、17134
  • C 语言网络编程避坑指南:一个“隐身”回车符引发的 Bug 与 strcspn 的神级救场
  • Flutter 三方库 typed_bus 鸿蒙适配指南 - 实现强类型内存事件总线、在 OpenHarmony 上打造极度解耦的组件交互防线实战
  • 在linux下安装matlab
  • 2026商家寄件价格对比:一站式平台vs传统模式,省成本秘诀?
  • 伪装成HP Smart的卡巴斯基病毒
  • 突破Minecraft物品堆叠限制:如何用3行代码实现资源管理效率提升300%?
  • 光纤测距传感器:开启精准测量的新时代
  • 尼龙磁与橡胶磁区别有哪些?
  • 如何安全解锁Switch高级功能?零基础玩家的大气层系统定制指南
  • # 一个单文件 main.py 能承载多大价值?我从微信机器人项目里得到的答案
  • CefFlashBrowser:数字遗产守护者的技术方舟——Flash内容访问与保护全方案
  • Python基于flask-django学生选课作业管理系统设计_
  • Highcharts Variable radius pie 可变半径饼图使用完全手册|玩转科学图表创建
  • 3分钟告别英文障碍:GitHub全界面零门槛汉化指南
  • 如何通过LeagueAkari提升英雄联盟游戏体验?完整工具指南
  • 电子级异丙醇与NMP深度纯化技术:从硼选择性捕获到金属杂质的极限脱除
  • 探索 TSMC28nm 可仿真器件库:开启芯片设计新征程