文章目录
- git命令
- 开发最常用的核心命令
- 一、基础配置(首次使用必做)
- 二、仓库初始化和克隆
- 三、工作区或暂存区操作
- 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