Git
约 925 字大约 3 分钟
2025-09-04
📦 Git常用命令总结
初始化仓库
git init # 初始化一个本地 Git 仓库
git clone [url] # 克隆远程仓库到本地
配置用户信息
git config --global user.name "Your Name" # 设置用户名
git config --global user.email "your@email.com" # 设置邮箱
git config --global core.editor vim # 设置默认编辑器
git config --list # 查看所有配置📥 二、工作区与暂存区操作
查看状态
git status # 查看工作区和暂存区状态
git status -s # 简洁格式显示(A:新增, M:修改, D:删除)
添加文件到暂存区
git add [file] # 添加指定文件到暂存区
git add . # 添加所有修改和新增的文件
git add -u # 添加所有已跟踪文件的修改(不包括新增)
git add -A # 添加所有变化(等同于 git add . && git add -u)💾 三、提交到本地仓库
提交更改
git commit -m "提交信息" # 提交暂存区内容,并添加提交说明
git commit -a -m "提交信息" # 跳过 git add,直接提交所有已跟踪文件的修改
git commit --amend # 修改最后一次提交(可修改内容或提交信息)🌐 四、远程仓库操作
关联远程仓库
git remote add origin [url] # 添加远程仓库(通常命名为 origin)
git remote -v # 查看远程仓库地址
推送与拉取
git push origin [branch] # 推送本地分支到远程
git push -u origin main # 首次推送并设置上游分支(-u)
git push # 后续推送(已设置 upstream 后可省略参数)
git pull origin [branch] # 拉取远程分支并合并
git pull # 拉取当前分支的远程更新🌿 五、分支管理
查看与切换分支
git branch # 查看本地分支
git branch -r # 查看远程分支
git branch -a # 查看所有分支(本地+远程)
git branch 【name】 # 创建新分支
git checkout 【branch】 # 切换到指定分支
git switch 【branch】 # 切换分支(Git 2.23+ 推荐)
git checkout -b 【name】 # 创建并切换到新分支
git switch -c 【name】 # 创建并切换(Git 2.23+)
合并与删除
git merge 【branch】 # 将指定分支合并到当前分支
git branch -d 【branch】 # 删除已合并的分支
git branch -D 【branch】 # 强制删除未合并的分支🔍 六、查看提交历史
git log # 查看提交历史
git log --oneline # 简洁格式(一行显示一次提交)
git log --graph # 图形化显示分支合并历史
git log --author="name" # 按作者查看提交
git log --since="2 weeks ago" # 查看最近两周的提交
git log -p 【file】 # 查看某文件的修改详情🧹 七、撤销与回退
撤销工作区修改
git checkout -- 【file】 # 丢弃工作区文件的修改(恢复到最近提交状态)
git restore 【file】 # 同上(Git 2.23+ 推荐)
撤销暂存区
git reset HEAD 【file】 # 将文件从暂存区移出,保留工作区修改
git restore --staged 【file】 # 同上(Git 2.23+ 推荐)
回退到某个提交
git reset --soft 【commit】 # 回退到指定提交,保留工作区和暂存区更改
git reset --mixed 【commit】 # 默认模式,保留工作区更改,清空暂存区
git reset --hard 【commit】 # 彻底回退,丢弃所有更改(慎用!)🔄 八、标签管理(Tag)
git tag # 列出所有标签
git tag v1.0.0 # 创建轻量标签
git tag -a v1.0.0 -m "发布" # 创建带注释的标签
git push origin v1.0.0 # 推送标签到远程
git push origin --tags # 推送所有标签🛠 九、其他实用命令
git diff # 查看工作区与暂存区的差异
git diff --staged # 查看暂存区与最新提交的差异
git stash # 临时保存当前修改
git stash pop # 恢复最近一次 stash 的修改
git clean -n # 预览将要删除的未跟踪文件
git clean -f # 删除未跟踪的文件版权所有
版权归属:念宇
