以下是 Git 常用命令的整理,按功能分类并结合实际场景说明:
一、仓库初始化与配置
git init
初始化当前目录为 Git 仓库。git clone <url>
克隆远程仓库到本地,如git clone https://github.com/user/repo.git
。git config
配置用户信息,如git config --global user.name "Your Name"
和git config --global user.email "email@example.com"
。
二、基础操作
git add
git add <file>
:添加单个文件到暂存区。git add .
或git add -A
:添加所有修改到暂存区(后者包含删除操作)。
git commit -m "message"
提交暂存区内容到本地仓库,需附带说明性信息。git status
查看工作目录和暂存区的文件状态。git diff
比较工作区与暂存区/不同提交之间的差异。
三、分支管理
git branch
git branch
:列出本地分支。git branch <branch-name>
:创建新分支。git branch -d <branch>
:删除分支。
git checkout
git checkout <branch>
:切换分支。git checkout -b <new-branch>
:创建并切换到新分支。
git merge <branch>
合并指定分支到当前分支(保留完整历史)。git rebase <branch>
将当前分支的提交“移植”到目标分支(线性历史)。
四、远程协作
git push
git push origin <branch>
:推送本地分支到远程仓库。git push --tags
:推送所有标签。
git pull
拉取远程分支并合并(等价于git fetch
+git merge
)。git fetch
仅拉取远程更新到本地,不自动合并。
五、撤销与回退
git reset
--soft
:仅移动 HEAD,保留工作区和暂存区。--mixed
(默认):重置暂存区,保留工作区。--hard
:彻底回退到某次提交(慎用)。
git revert <commit>
生成新提交以撤销某次修改(保留历史记录)。git checkout -- <file>
丢弃工作区未暂存的修改。
六、其他实用命令
git stash
临时保存未提交的修改:git stash
:保存进度。git stash pop
:恢复最新进度。
git tag
git tag v1.0
:创建轻量标签。git tag -a v2.0 -m "release"
:创建附注标签。
git log
git log --oneline
:简化提交历史。git log --graph
:图形化显示分支合并。
场景示例
- 协作开发:先
git pull
同步最新代码,修改后add
→commit
→push
。 - 紧急修复:用
git stash
保存当前工作,切换到修复分支。 - 版本回退:
git reset --hard HEAD~2
回退到前两次提交(强制推送需谨慎)。
建议结合官方文档(如 Pro Git)深入学习。可通过 git help <command>
查看具体命令的详细说明。