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

git 的常用指令

以下是 Git 命令分类大全,覆盖日常开发、团队协作和高级操作场景,按功能分类整理:


一、配置与初始化

命令说明
git config --global user.name "Your Name"设置全局用户名
git config --global user.email "email@example.com"设置全局邮箱
git config --global core.editor "vim"设置默认编辑器
git config --list查看所有配置
git init初始化本地仓库
git clone <repo_url>克隆远程仓库到本地

二、文件操作

命令说明
git add <file>添加文件到暂存区
git add .添加所有修改到暂存区
git rm <file>删除文件并加入暂存区
git mv <old> <new>重命名文件并加入暂存区
git restore <file>撤销工作区未暂存的修改(Git 2.23+)
git restore --staged <file>撤销暂存区的修改(保留工作区)

三、提交与历史

命令说明
git commit -m "message"提交暂存区内容
git commit --amend修改最后一次提交信息或内容
git log查看提交历史
git log --oneline --graph简洁版提交历史(含分支图)
git reflog查看所有操作历史(包括被删除的提交)

四、分支管理

命令说明
git branch查看本地分支
git branch -a查看所有分支(本地+远程)
git switch <branch>切换分支(Git 2.23+推荐)
git switch -c <new-branch>创建并切换分支
git merge <branch>合并指定分支到当前分支
git rebase <branch>变基(重写提交历史)
git branch -d <branch>删除已合并的分支
git branch -D <branch>强制删除未合并的分支

五、远程仓库

命令说明
git remote -v查看远程仓库地址
git remote add origin <url>关联远程仓库
git fetch拉取远程仓库元数据(不自动合并)
git pull拉取并合并远程代码(相当于 git fetch + merge
git push origin <branch>推送本地分支到远程
git push -u origin <branch>首次推送并关联远程分支
git push --force强制推送(覆盖远程历史,慎用!)

六、撤销与回退

命令说明
git reset --soft HEAD^回退到上一提交,保留修改到暂存区
git reset --hard HEAD^彻底回退到上一提交(丢弃所有修改)
git revert <commit>生成新提交来撤销指定提交(安全回退)
git checkout HEAD -- <file>丢弃工作区某文件的修改

七、标签管理

命令说明
git tag查看所有标签
git tag v1.0.0创建轻量标签
git tag -a v1.0.0 -m "message"创建带注释的标签
git push origin --tags推送所有标签到远程
git tag -d v1.0.0删除本地标签

八、储藏与临时工作

命令说明
git stash临时储藏当前工作区修改
git stash list查看储藏列表
git stash pop恢复最新储藏并删除记录
git stash apply恢复储藏但不删除记录

九、子模块(Submodule)

命令说明
git submodule add <repo_url>添加子模块
git submodule update --init --recursive初始化并更新子模块

十、高级操作

命令说明
git cherry-pick <commit>复制指定提交到当前分支
git bisect start使用二分法定位问题提交
git blame <file>查看文件的逐行修改记录
git clean -fd删除未跟踪的文件和目录

十一、常见问题处理

1. 冲突解决
# 手动解决冲突后执行:
git add .
git commit -m "Resolved conflict"
2. 找回被删除的提交
git reflog                  # 找到丢失的提交哈希
git reset --hard <commit>   # 恢复到该提交
3. 清理历史大文件
git filter-branch --tree-filter 'rm -f bigfile' HEAD  # 从历史中永久删除文件

十二、常用别名设置(.gitconfig

[alias]
  co = checkout
  br = branch
  ci = commit
  st = status
  lg = log --oneline --graph --decorate
  last = log -1 HEAD

注意事项

  1. 危险操作reset --hardpush --force 可能导致数据丢失,需谨慎使用。
  2. 分支规范:推荐使用 feature/xxxhotfix/xxx 等命名约定。
  3. 定期同步:频繁执行 git fetch 保持本地与远程信息同步。

结合 GUI 工具(如 VS Code、GitKraken)可提升效率,但掌握命令行是核心能力!

相关文章:

  • Java面试42-什么是幂等?如何解决幂等性问题?
  • Axure RP9教程 【数据传输】(页面值传递)| 作用域 :全局变量、局部变量
  • kafka分区策略详解
  • MCP+Blender创建电力塔
  • H.265视频编码技术:下一代高清时代的数字密码
  • NO.73十六届蓝桥杯备战|搜索算法-剪枝与优化-记忆化搜索|数的划分|小猫爬山|斐波那契数|Function|天下第一|滑雪(C++)
  • 视频分析设备平台EasyCVR携手高空抛物AI智能分析技术,打造住宅小区头顶安全智能防线
  • 高级:数据库面试题全攻略
  • whisper 语音识别
  • 游戏引擎学习第210天
  • [unity 字体] 导入中文字体、字库
  • 实操日志之Windows Server2008R2 IIS7 配置Php7.4.3
  • 【漫话机器学习系列】188.概率相关概念详解(Notions Of Probility)
  • 开箱即用!推荐一款Python开源项目:DashGo,支持定制改造为测试平台!
  • MySQL、Oracle 和 PostgreSQL 是三种主流的关系型数据库的主要原理性差异分析
  • 去中心化固定利率协议
  • 【Scrapy】Scrapy教程11——XPath详解
  • MongoDB常见面试题总结(上)
  • 软件工程第四章习题
  • JavaScript/React中,...(三个连续的点)被称为 扩展运算符(Spread Operator) 或 剩余运算符(Rest Operator)
  • 怎么做简易手机网站/网络最有效的推广方法
  • 网站购物车功能/国内免费顶级域名注册
  • 58招聘运营网站怎么做/讯展网站优化推广
  • 打码兔怎么和网站做接口/推广品牌
  • 推荐网站建设的书/2023疫情最新情况
  • 2024年新冠病毒会再来吗/seo课培训