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

Git 开发常用命令速查手册

文章目录

  • git命令
    • 开发最常用的核心命令
      • 一、基础配置(首次使用必做)
      • 二、仓库初始化和克隆
        • 1. 本地新建仓库
        • 2. 克隆远程仓库
      • 三、工作区或暂存区操作
        • 1. 查看状态(最常用!随时确认文件变更)
        • 2. 添加文件到暂存区(提交前必需步骤)
        • 3. 提交暂存区到本地仓库
        • 4. 撤销操作(救急必备)
      • 四、分支操作
        • 1. 查看分支
        • 2. 创建与切换分支
        • 3. 合并分支(功能开发完成后合并到主分支)
        • 4. 删除分支
      • 五、远程仓库协作
        • 1. 关联远程仓库(本地仓库首次关联远程)
        • 2. 拉取远程代码(同步远程最新修改到本地)
        • 3. 推送本地代码到远程仓库
        • 4. 其他远程操作

git命令

开发最常用的核心命令

一、基础配置(首次使用必做)

# 1. 配置用户名和邮箱(关联远程仓库如 GitHub/GitLab 必需)gitconfig --global user.name"你的用户名"gitconfig --global user.email"你的邮箱"# 2. 查看配置信息(验证是否配置成功)gitconfig --list# 3. 配置默认编辑器(如 VS Code,可选)gitconfig --global core.editor"code --wait"

二、仓库初始化和克隆

1. 本地新建仓库
# 在当前目录初始化 Git 仓库(生成 .git 隐藏文件夹)gitinit# 新建目录并初始化仓库(推荐,避免污染当前目录)gitinit 仓库名
2. 克隆远程仓库
# 克隆远程仓库到本地(默认目录名=仓库名)gitclone 远程仓库地址(HTTPS/SSH)# 克隆到指定本地目录gitclone 远程仓库地址 本地目录名

三、工作区或暂存区操作

1. 查看状态(最常用!随时确认文件变更)
gitstatus# 详细状态(哪些文件修改/未跟踪/待提交)gitstatus -s# 简洁状态(A=新增,M=修改,D=删除,??=未跟踪)
2. 添加文件到暂存区(提交前必需步骤)
# 添加单个文件gitadd文件名# 添加多个文件(空格分隔)gitadd文件1 文件2# 添加当前目录所有变更(包括修改/新增,不包含删除)gitadd.# 添加所有变更(包括修改/新增/删除,等同于 git add -A)gitadd-u
3. 提交暂存区到本地仓库
# 基本提交(必须写提交信息,描述本次修改内容)gitcommit -m"提交说明:如修复登录bug/新增用户列表功能"# 提交时自动添加所有已跟踪文件的修改(跳过 git add,仅适用于修改/删除,不包含新增文件)gitcommit -am"提交说明"# 补充提交(修改上一次提交,避免多一条无用提交记录)gitcommit --amend# 会打开编辑器修改上次提交信息gitcommit --amend -m"新的提交说明"# 直接修改,不打开编辑器
4. 撤销操作(救急必备)
# 1. 撤销工作区修改(未 add 的文件,恢复到上次 commit 状态)gitcheckout -- 文件名# 注意:-- 避免文件名与分支名冲突# 2. 撤销暂存区修改(已 add 但未 commit,恢复到工作区)gitreset HEAD 文件名# 单个文件gitreset HEAD.# 所有文件# 3. 查看提交日志(找需要回滚的版本号)gitlog# 详细日志(包含版本号、作者、时间、提交说明)gitlog --oneline# 简洁日志(仅显示版本号前7位+提交说明)# 4. 回滚到指定版本(本地仓库回滚,谨慎使用!)gitreset --hard 版本号# 彻底回滚(工作区+暂存区+本地仓库同步到该版本)

四、分支操作

1. 查看分支
gitbranch# 查看本地所有分支(当前分支前带 *)gitbranch -r# 查看远程所有分支gitbranch -a# 查看本地+远程所有分支
2. 创建与切换分支
# 新建分支(基于当前分支)gitbranch 分支名# 新建并切换到该分支(最常用)gitcheckout -b 分支名# 等同于:git branch 分支名 + git checkout 分支名# Git 2.23+ 新增切换命令(更直观)gitswitch 分支名# 切换已有分支gitswitch -c 分支名# 新建并切换分支
3. 合并分支(功能开发完成后合并到主分支)
# 1. 先切换到目标分支(如合并到 main 分支)gitcheckout main# 或 git switch main# 2. 合并源分支(如 feature/login 分支)到当前分支gitmerge 源分支名# 3. 解决冲突(若合并时提示 conflict)# 步骤:① 打开冲突文件,找到 <<<<<<< HEAD 到 >>>>>>> 源分支名 之间的内容# ② 编辑保留需要的代码,删除冲突标记(<<<<<<<, =======, >>>>>>>)# ③ 重新 add + commit 完成合并gitadd冲突文件名gitcommit -m"解决合并冲突:保留xxx功能"
4. 删除分支
# 删除本地已合并的分支(安全删除)gitbranch -d 分支名# 强制删除本地未合并的分支(未开发完的分支,谨慎使用)gitbranch -D 分支名# 删除远程分支(协作后清理远程无用分支)gitpush origin -d 远程分支名

五、远程仓库协作

1. 关联远程仓库(本地仓库首次关联远程)
# 查看已关联的远程仓库gitremote -v# 关联远程仓库(origin 是远程仓库的默认别名,可自定义)gitremoteaddorigin 远程仓库地址(HTTPS/SSH)
2. 拉取远程代码(同步远程最新修改到本地)
# 拉取远程默认分支(如 main)的代码,自动合并到当前分支gitpull# 等同于:git fetch + git merge# 拉取指定远程分支到本地指定分支gitpull origin 远程分支名:本地分支名# 强制拉取远程代码(覆盖本地未提交的修改,谨慎使用!)gitpull origin 分支名 --force
3. 推送本地代码到远程仓库
# 首次推送本地分支到远程(需指定上游分支,绑定本地与远程分支)gitpush -u origin 本地分支名# 绑定后,后续可直接 git push# 非首次推送(已绑定上游分支)gitpush# 推送本地分支到远程指定分支(自定义远程分支名)gitpush origin 本地分支名:远程分支名# 强制推送(覆盖远程分支,多人协作时禁止使用!仅个人分支临时救急)gitpush origin 分支名 --force-with-lease# 比 --force 安全,避免覆盖他人代码
4. 其他远程操作
# 拉取远程分支信息(不合并代码,仅更新本地远程分支列表)gitfetch# 查看远程仓库详细信息gitremote show origin# 解除本地与远程仓库的关联gitremote remove origin
http://www.cnnetsun.cn/news/27460.html

相关文章:

  • 算法练习4--数组:长度最小的子数组
  • Spring Cloud Gateway为什么要推出 WebMVC 版本?深度解析两大版本的差异与选型
  • git和github的区别
  • 小白从零开始勇闯人工智能Linux初级篇(MySQL库)
  • Bootstrap 模态框详解
  • MinerU终极安全离线部署指南:完全断网环境解决方案
  • 练题100天——DAY24:罗马数字转整数+环形链表+大小端判断
  • 网站域名:关键的战略资产
  • Airflow 做 ETL,真不是“排个 DAG 就完事儿”:那些年我踩过的坑与悟出的道
  • 数据库连接池监控最佳实践:用 Prometheus + Grafana 打造可视化监控体系
  • Windows验机
  • 别让孩子视力提早“透支” ,这份护眼指南请收好
  • 儿童青少年近视干预科学指引,破解家长近视防控焦虑
  • 解析 .NET 核心基石:CTS、CLS 与 CLR 的核心价值与协同作用
  • Selinux权限的检测
  • 常见报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.example.dem
  • 甲骨文AI投资支出激增致股价创24年最大跌幅
  • TinyMCE4粘贴word超链接自动解析域名
  • TinyMCE6处理微信公众号音频视频嵌入
  • 昇腾 Ascend 自定义算子开发全攻略:从 TBE DSL 到 AICPU,打通 AI 加速最后一公里
  • 当电机开始“唱歌“:NVH工程师的降噪日常
  • AI界的“经济适用男“!80亿参数小模型完胜GPT-5,成本降低70%,CSDN程序员必藏的智能调度方案
  • FPGA教程系列-Vivado Aurora 8B/10B 例程解读
  • 227827827
  • MCU的启动流程你了解么?
  • 逻辑回归(Logistic Regression)进行多分类的实战
  • RNN(循环神经网络)原理
  • 人机协同重构创作生态——生成式AI赋能内容产业的变革与思考
  • Java 小白求职者在互联网大厂的面试实录:从 Spring Boot 到微服务架构
  • V助手舆情分析智能体:重塑舆情分析,从“人找信息”到“信息为人”