git的用法 📅 发布时间:2026/8/20 13:57:15 👁 浏览次数: 1.git的基本用法一、电脑安装git只需要配置一次就可以了二、配置全局用户名邮箱只需要配置一次就可以了# 设置提交者名字 git config --global user.name 你的名字 # 设置提交邮箱必须和远程平台邮箱一致Gitee/GitHub git config --global user.email xxxqq.com # 查看全部配置 git config --list三、初始化仓库 / 拉取远程仓库# 方式1本地文件夹新建git仓库 git init # 方式2克隆线上已有仓库 git clone shturl.cc/OyKGOoQqT3YvnZSL447p2. 三区概念重中之重必须弄懂工作区你肉眼看见的文件夹文件暂存区 (stage/index)临时存放准备提交的文件本地仓库.git 文件夹内永久保存的提交快照流程修改文件 → add 加入暂存 → commit 提交本地仓库 → push 推送远端3. 最基础全套命令# 查看当前文件改动状态 git status # 1. 添加单个文件到暂存区 git add main.js # 添加全部改动文件 git add . # 添加所有js文件 git add *.js # 2. 提交暂存区快照到本地仓库备注改动说明 git commit -m feat: 新增登录页面 # 3. 推送本地分支到远程仓库 git push origin main # 拉取远程最新代码 git pull origin main # 查看提交日志 git log # 简洁单行日志 git log --oneline4.分支基础# 查看所有本地分支 git branch # 创建新分支 git branch dev # 切换分支 git checkout dev # 新版git切换简写 git switch dev # 创建并且立刻进入新分支 git checkout -b feature/login git switch -c feature/login5.撤销基础操作# 1. 撤销工作区修改文件变回暂存区版本 git checkout -- main.js # 2. 将文件从暂存区撤回到工作区 git reset HEAD main.js6.reset 三种模式硬核区分# --soft只撤回commit代码依旧留在暂存区 git reset --soft HEAD~1 # --mixed默认撤回commit 撤回暂存区代码留在工作区 git reset HEAD~1 # --hard彻底回退删掉所有改动谨慎使用 git reset --hard HEAD~1HEAD当前最新提交HEAD~1上一次提交HEAD~2上两次提交7.分支完整管理# 删除本地分支 git branch -d dev # 强制删除未合并的分支 git branch -D dev # 查看远程所有分支 git branch -a # 删除远程分支 git push origin --delete dev8.merge创建一条新合并提交记录保留完整分支轨迹# 现在处于main主分支合并dev分支 git checkout main git merge dev9.rebase变基拉直提交线整洁线性历史git checkout feature/login # 将当前分支所有提交嫁接在main最新节点后面 git rebase main规范永远不要在公共主分支执行 rebase只用于自己私有功能分支10.解决冲突执行 merge/rebase 之后提示冲突打开冲突文件标记格式 HEAD 当前分支代码 被合并分支代码 dev手动修改代码删掉标记符号git add .merge 执行git commitrebase 执行git rebase --continue# 终止本次合并/变基 git merge --abort git rebase --abort11.储藏代码 stash临时保存手头改动场景代码写到一半需要临时切分支改 bug现在不想提交半成品# 保存当前所有修改 git stash save 临时保存首页bug改动 # 查看储藏列表 git stash list # 取出最近一次储藏储藏记录保留 git stash apply # 取出并且删掉储藏 git stash pop # 删除指定储藏 git stash drop stash{0}12.标签 tag版本发布# 创建轻量标签 git tag v1.0.0 # 带备注附注标签正式发版推荐 git tag -a v1.0.0 -m 正式版本1.0 # 推送标签至远程 git push origin v1.0.0 # 推送全部标签 git push origin --tags # 删除本地标签 git tag -d v1.0.0 # 删除远程标签 git push origin :refs/tags/v1.0.013.远程仓库管理# 查看远程地址别名 git remote -v # 添加远程仓库 git remote add origin 仓库地址 # 修改远程仓库地址 git remote set-url origin 新地址14.精细查看改动# 查看当前工作区对比暂存区差异 git diff # 查看暂存区和最近一次提交区别 git diff --staged # 对比两个提交之间所有差异 git diff 哈希值1 哈希值2 # 查看单个文件历史改动 git log -p main.js15.cherry‑pick 挑选指定提交复制到当前分支只拿某一条提交不需要合并整条分支适合别的分支写好了某个 bug 修复单独移植过来git cherry-pick 提交hash值16.commit 修改# 修改上一次提交备注也可以追加漏掉的文件 git commit --amend17.交互式变基 rebase -i改写历史超级重要git rebase -i HEAD~4弹出编辑器可以对最近 4 次提交执行pick保留提交reword修改提交注释edit进入提交修改文件squash把本条提交合并到上一条fixup合并提交丢弃本条备注drop直接删除该次提交⚠️已经推送到远程公共分支的提交禁止改写历史18.找回误删提交 reflogreset --hard 删掉提交之后日志看不见了reflog 记录你所有操作git reflog # 找到丢失提交的hash直接重置回去 git reset --hard hash值19.文件高级操作# 跟踪重命名文件git会自动识别也可手动 git mv old.js new.js # 永久从git仓库删除文件本地文件也删除 git rm test.js # 仅从版本库移除本地文件保留 git rm --cached test.js20..gitignore 忽略文件1、新建.gitignore# 注释 node_modules/ *.log .env dist/2、如果文件已经被 git 追踪过需要取消追踪git rm --cached .env21.将更改的代码合并到dev分支上// 将自己的开发分支合并到dev分支上...标示自己分支上的commit哈希值 git cherry-pick .... // 假如是多次commit自己分支上的commit哈希值指令是如下 git cherry-pick 最下面的哈希值^..最上面的哈希值