# 设置全局用户签名(区分开发者身份,与远程平台账号无关)
git config --global user.name "YourName"
git config --global user.email "your@email.com"
# 查看配置(验证是否生效)
git config --list # 初始化新仓库(生成.git目录,开始版本管理)
git init
# 查看工作区/暂存区状态(红色=未暂存,绿色=已暂存)
git status # 添加文件到暂存区
git add 文件名.txt # 单个文件
git add . # 当前目录所有文件(含子目录)
git add -p # 交互式添加(分次提交同一文件的多处修改)
# 撤销暂存(将文件从暂存区撤回到工作区)
git reset HEAD 文件名 # 提交暂存区到本地库,附带日志
git commit -m "提交说明:修复登录Bug"
# 跳过暂存区,直接提交已追踪文件的修改
git commit -a -m "说明:更新文档"
# 修改最近一次提交(改写信息或补充文件)
git commit --amend -m "新说明:补充测试用例" # 从暂存区和工作区删除文件(同步版本库)
git rm 文件名.txt
# 仅停止追踪文件(文件保留在工作区)
git rm --cached 冗余文件.txt
# 改名并同步暂存区
git mv 旧名.txt 新名.txt # 完整历史(版本号、作者、时间、说明)
git log
# 简洁历史(含回退记录,用于找回误删版本)
git reflog
# 查看文件的逐行修改
git log -p 文件名.txt
# 按作者/关键词过滤历史
git log --author="Alice" --grep="修复" # 彻底回退(工作区、暂存区、本地库全重置)
git reset --hard 版本号(如 git reset --hard HEAD^ 回退到上一版本)
# 仅移动HEAD,保留暂存区和工作区
git reset --soft 版本号
# 撤销工作区修改(未暂存时,恢复为上次提交状态)
git checkout -- 文件名.txt # 查看分支(*标记当前分支)
git branch # 本地分支
git branch -r # 远程分支
git branch -a # 所有分支(本地+远程)
# 创建并切换分支(推荐用switch,更直观)
git switch -c 新分支名 # 等价于 git checkout -b 新分支名
# 切换分支
git switch 分支名
# 删除分支(-d安全删除,需合并后;-D强制删除)
git branch -d 旧分支名
git branch -D 废弃分支名 # 合并目标分支到当前分支(如main合并dev)
git merge 目标分支名
# 非Fast-forward合并(生成合并提交,保留分支历史)
git merge --no-ff 目标分支名
# 解决冲突步骤:
1. 编辑冲突文件(标记 <<<<<<<、=======、>>>>>>> 部分)
2. git add 冲突文件(标记解决)
3. git commit(完成合并) # 添加远程仓库(别名通常为origin)
git remote add origin https://github.com/用户名/仓库名.git
# 拉取远程更新(不自动合并,需手动git merge)
git fetch origin
# 拉取并合并(等价于 fetch + merge)
git pull origin 分支名
# 推送本地分支到远程
git push origin 本地分支名:远程分支名 # 从远程克隆(自动初始化+关联远程,默认分支为main)
git clone https://github.com/用户名/仓库名.git # 贮藏修改(推荐用push,替代旧save)
git stash push -m "临时修改:调试功能"
# 查看贮藏列表
git stash list
# 恢复并删除贮藏
git stash pop
# 恢复但保留贮藏
git stash apply # 复制单个提交(生成新提交)
git cherry-pick 提交ID
# 复制多个提交(A^表示A的父提交,含A到B)
git cherry-pick A^..B # 将目标分支的提交合并到当前分支(使历史更线性)
git rebase 目标分支名
# 解决冲突后继续变基
git rebase --continue
# 放弃变基
git rebase --abort # 打标签(默认在当前提交,也可指定历史提交)
git tag v1.0 # 当前提交
git tag v0.9 提交ID # 历史提交
# 推送标签到远程
git push origin v1.0 # 单个标签
git push origin --tags # 所有标签
# 删除标签
git tag -d v1.0 # 本地删除
git push origin :refs/tags/v1.0 # 远程删除 备注:
git help 命令 查官方文档(如 git help commit)。git status 确认状态,避免误操作最后放一张工作流程动图

#Git #Git常用操作