Git 开发常用命令速查手册

文章目录

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

git命令

开发最常用的核心命令

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

bash 复制代码
# 1. 配置用户名和邮箱(关联远程仓库如 GitHub/GitLab 必需)
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

# 2. 查看配置信息(验证是否配置成功)
git config --list

# 3. 配置默认编辑器(如 VS Code,可选)
git config --global core.editor "code --wait"

二、仓库初始化和克隆

1. 本地新建仓库
bash 复制代码
# 在当前目录初始化 Git 仓库(生成 .git 隐藏文件夹)
git init

# 新建目录并初始化仓库(推荐,避免污染当前目录)
git init 仓库名
2. 克隆远程仓库
bash 复制代码
# 克隆远程仓库到本地(默认目录名=仓库名)
git clone 远程仓库地址(HTTPS/SSH)

# 克隆到指定本地目录
git clone 远程仓库地址 本地目录名

三、工作区或暂存区操作

1. 查看状态(最常用!随时确认文件变更)
bash 复制代码
git status  # 详细状态(哪些文件修改/未跟踪/待提交)
git status -s  # 简洁状态(A=新增,M=修改,D=删除,??=未跟踪)
2. 添加文件到暂存区(提交前必需步骤)
bash 复制代码
# 添加单个文件
git add 文件名

# 添加多个文件(空格分隔)
git add 文件1 文件2

# 添加当前目录所有变更(包括修改/新增,不包含删除)
git add .

# 添加所有变更(包括修改/新增/删除,等同于 git add -A)
git add -u
3. 提交暂存区到本地仓库
bash 复制代码
# 基本提交(必须写提交信息,描述本次修改内容)
git commit -m "提交说明:如修复登录bug/新增用户列表功能"

# 提交时自动添加所有已跟踪文件的修改(跳过 git add,仅适用于修改/删除,不包含新增文件)
git commit -am "提交说明"

# 补充提交(修改上一次提交,避免多一条无用提交记录)
git commit --amend  # 会打开编辑器修改上次提交信息
git commit --amend -m "新的提交说明"  # 直接修改,不打开编辑器
4. 撤销操作(救急必备)
bash 复制代码
# 1. 撤销工作区修改(未 add 的文件,恢复到上次 commit 状态)
git checkout -- 文件名  # 注意:-- 避免文件名与分支名冲突

# 2. 撤销暂存区修改(已 add 但未 commit,恢复到工作区)
git reset HEAD 文件名  # 单个文件
git reset HEAD .     # 所有文件

# 3. 查看提交日志(找需要回滚的版本号)
git log  # 详细日志(包含版本号、作者、时间、提交说明)
git log --oneline  # 简洁日志(仅显示版本号前7位+提交说明)

# 4. 回滚到指定版本(本地仓库回滚,谨慎使用!)
git reset --hard 版本号  # 彻底回滚(工作区+暂存区+本地仓库同步到该版本)

四、分支操作

1. 查看分支
bash 复制代码
git branch  # 查看本地所有分支(当前分支前带 *)
git branch -r  # 查看远程所有分支
git branch -a  # 查看本地+远程所有分支
2. 创建与切换分支
bash 复制代码
# 新建分支(基于当前分支)
git branch 分支名

# 新建并切换到该分支(最常用)
git checkout -b 分支名  # 等同于:git branch 分支名 + git checkout 分支名

# Git 2.23+ 新增切换命令(更直观)
git switch 分支名  # 切换已有分支
git switch -c 分支名  # 新建并切换分支
3. 合并分支(功能开发完成后合并到主分支)
bash 复制代码
# 1. 先切换到目标分支(如合并到 main 分支)
git checkout main  # 或 git switch main

# 2. 合并源分支(如 feature/login 分支)到当前分支
git merge 源分支名

# 3. 解决冲突(若合并时提示 conflict)
# 步骤:① 打开冲突文件,找到 <<<<<<< HEAD 到 >>>>>>> 源分支名 之间的内容
#      ② 编辑保留需要的代码,删除冲突标记(<<<<<<<, =======, >>>>>>>)
#      ③ 重新 add + commit 完成合并
git add 冲突文件名
git commit -m "解决合并冲突:保留xxx功能"
4. 删除分支
bash 复制代码
# 删除本地已合并的分支(安全删除)
git branch -d 分支名

# 强制删除本地未合并的分支(未开发完的分支,谨慎使用)
git branch -D 分支名

# 删除远程分支(协作后清理远程无用分支)
git push origin -d 远程分支名

五、远程仓库协作

1. 关联远程仓库(本地仓库首次关联远程)
bash 复制代码
# 查看已关联的远程仓库
git remote -v

# 关联远程仓库(origin 是远程仓库的默认别名,可自定义)
git remote add origin 远程仓库地址(HTTPS/SSH)
2. 拉取远程代码(同步远程最新修改到本地)
bash 复制代码
# 拉取远程默认分支(如 main)的代码,自动合并到当前分支
git pull  # 等同于:git fetch + git merge

# 拉取指定远程分支到本地指定分支
git pull origin 远程分支名:本地分支名

# 强制拉取远程代码(覆盖本地未提交的修改,谨慎使用!)
git pull origin 分支名 --force
3. 推送本地代码到远程仓库
bash 复制代码
# 首次推送本地分支到远程(需指定上游分支,绑定本地与远程分支)
git push -u origin 本地分支名  # 绑定后,后续可直接 git push

# 非首次推送(已绑定上游分支)
git push

# 推送本地分支到远程指定分支(自定义远程分支名)
git push origin 本地分支名:远程分支名

# 强制推送(覆盖远程分支,多人协作时禁止使用!仅个人分支临时救急)
git push origin 分支名 --force-with-lease  # 比 --force 安全,避免覆盖他人代码
4. 其他远程操作
bash 复制代码
# 拉取远程分支信息(不合并代码,仅更新本地远程分支列表)
git fetch

# 查看远程仓库详细信息
git remote show origin

# 解除本地与远程仓库的关联
git remote remove origin
相关推荐
数字会议深科技2 小时前
深科技 | 高端会议室效率升级指南:无纸化会议系统的演进与价值
大数据·人工智能·会议系统·无纸化·会议系统品牌·综合型系统集成商·会议室
容智信息2 小时前
容智Report Agent智能体驱动财务自动化,从核算迈向价值创造
大数据·运维·人工智能·自然语言处理·自动化·政务
柒壹漆2 小时前
用Python制作一个USB Hid设备数据收发测试工具
开发语言·git·python
神算大模型APi--天枢6463 小时前
全栈自主可控:国产算力平台重塑大模型后端开发与部署生态
大数据·前端·人工智能·架构·硬件架构
每日学点SEO3 小时前
「网站新页面冲进前10名成功率下降69%」:2025 年SEO竞争格局分析
大数据·数据库·人工智能·搜索引擎·chatgpt
爱吃番茄鼠骗4 小时前
git命令使用教程
git
写代码的【黑咖啡】4 小时前
大数据建模中的模型
大数据
ljh5746491195 小时前
大数据geo是什么意思
大数据·人工智能