文章目录
- 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