1. 基础配置
git config --list # 查看全部配置
git config --global user.name "名字" # 全局用户名
git config --global user.email "邮箱" # 全局邮箱
git config --global core.editor "vim" # 设置默认编辑器
2. 仓库初始化 & 克隆
git init # 初始化本地git仓库
git clone https://xxx.git # 克隆远程仓库
git clone https://xxx.git 自定义文件夹名
3. 日常提交流程(最常用)
git status # 查看文件状态
git add filename # 添加指定文件到暂存区
git add . # 添加当前目录所有变更到暂存区
git add -A # 添加所有(新增/修改/删除)文件
git commit -m "feat: 新增登录接口" # 提交并写备注
git commit --amend # 修改上一次提交(覆盖,谨慎)
4. 查看差异 & 日志
git diff # 工作区 vs 暂存区
git diff --cached # 暂存区 vs 最近一次commit
git log # 查看提交日志
git log --oneline # 简洁单行日志(强烈推荐)
git log --graph --oneline --all # 图形化看分支走向
git show commitId # 查看某次提交详情
5. 分支操作(新版 switch 为主,兼容 checkout)
git branch # 查看本地分支
git branch -a # 查看本地+远程所有分支
git branch dev # 创建dev分支,不切换
git switch -c dev # 创建并切换到dev分支(新版推荐)
git switch dev # 切换到dev分支
git checkout -b dev # 旧版:创建+切换分支
git checkout dev # 旧版:切换分支
git merge dev # 将dev分支合并到当前分支
git branch -d dev # 删除已经合并的分支
git branch -D dev # 强制删除分支(未合并也删)
git branch -m old new # 分支重命名
6. 远程仓库
git remote -v # 查看远程仓库地址
git remote add origin https://xxx.git # 添加远程源
git remote set-url origin 新地址 # 修改远程仓库地址
git pull origin main # 拉取远程main分支并合并
git pull --rebase origin main # rebase方式拉取(提交线更干净)
git push origin main # 推送本地main到远程
git push -u origin main # 首次推送,绑定上游分支
git push origin --delete dev # 删除远程dev分支
git fetch origin # 拉取远程更新,不自动合并
7. 暂存(stash,临时保存没写完的代码)
git stash # 暂存当前未提交改动
git stash save "备注"
git stash list # 查看所有stash记录
git stash pop # 取出最新stash并删除记录
git stash apply # 取出stash,保留记录
git stash drop # 删除一条stash
git stash clear # 清空所有stash
8. 撤销、回滚(高危!注意区分)
git restore filename # 丢弃工作区文件修改(未add)
git reset HEAD filename # 把文件从暂存区撤回到工作区
# reset三种模式
git reset --soft commitId # 只回退commit,保留暂存区
git reset --mixed commitId(默认) # 回退commit,改动放回工作区
git reset --hard commitId # 彻底回退,丢弃所有改动【慎用】
git revert commitId # 新增一个反向提交,不删除历史(生产优先用这个)
9. 标签 tag(版本发布)
git 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 --delete v1.0.0 # 删除远程标签
10. Rebase 变基(整理提交记录)
git rebase -i HEAD~3 # 交互式合并最近3条commit
git rebase main # 把当前分支变基到main上
git rebase --abort # 终止rebase冲突
git rebase --continue # 冲突解决后继续变基
11. 其他高频
git rm filename # 删除文件并加入暂存
git rm --cached filename # 取消跟踪,本地文件保留(适合加入gitignore)
git mv old.js new.js # 文件重命名
git ls-files # 查看被git跟踪的文件
12. .gitignore 说明
.gitignore 放在项目根目录,配置不需要纳入版本的文件:node_modules、target、.env、*.log、.idea