Git 是广泛使用的版本控制工具,以下是常用的 Git 操作命令,按功能分类整理:
初始化与配置
git init
初始化当前目录为 Git 仓库。
git clone <仓库地址>
克隆远程仓库到本地。
git config --global user.name "用户名"
设置全局用户名。
git config --global user.email "邮箱"
设置全局邮箱。
提交与修改
git add <文件名>
将文件添加到暂存区(git add . 添加所有改动)。
git commit -m "提交说明"
提交暂存区的改动到本地仓库。
git commit --amend
修改最近一次提交(可修改说明或追加文件)。
查看状态与历史
git status
查看工作区和暂存区的状态。
git log
查看提交历史(--oneline 简化显示)。
git diff
查看工作区与暂存区的差异(git diff --staged 比较暂存区与最新提交)。
分支管理
git branch
查看本地分支(-a 查看所有分支,包括远程)。
git branch <分支名>
创建新分支。
git checkout <分支名>
切换到指定分支(-b 创建并切换)。
git merge <分支名>
合并指定分支到当前分支。
git rebase <分支名>
变基操作(重放当前分支的提交到目标分支)。
远程仓库操作
git remote -v
查看远程仓库地址。
git remote add <别名> <仓库地址>
添加远程仓库别名。
git push <远程名> <分支名>
推送本地分支到远程(-u 首次推送关联分支)。
git pull <远程名> <分支名>
拉取远程分支并合并(相当于 git fetch + git merge)。
git fetch <远程名>
下载远程仓库的更新,但不合并。
撤销与回退
git restore <文件名>
撤销工作区的修改(恢复到最近提交状态)。
git restore --staged <文件名>
将文件从暂存区移回工作区(取消 add)。
git reset --hard
回退到指定提交(慎用!会丢弃之后的改动)。
git revert
创建一个新提交来撤销指定提交的改动(安全回退)。
暂存与清理
git stash
临时保存工作区的改动(git stash pop 恢复)。
git clean -fd
删除未跟踪的文件和目录(慎用!不可恢复)。
标签管理
git tag
查看所有标签。
git tag <标签名>
创建轻量标签(-a 创建附注标签)。
git push <远程名> <标签名>
推送标签到远程(--tags 推送所有标签)。
常用场景示例
首次推送本地项目到远程仓库
git init
git add .
git commit -m "Initial commit"
git remote add origin <仓库地址>
git push -u origin main
拉取远程更新并解决冲突
git pull origin main # 拉取后手动解决冲突
git add <冲突文件>
git commit -m "Fix merge conflicts"
git push
撤销未提交的修改
git restore <文件名> # 撤销工作区修改
git restore --staged <文件名> # 取消暂存
注意事项
谨慎使用 --hard 操作,会丢失未提交的改动。
多人协作时,优先使用 rebase 保持提交历史线性(需团队约定)。
掌握这些命令可以应对日常开发中 90% 的 Git 操作需求。遇到复杂问题时,建议结合 git help <命令> 查看官方文档。