| 仓库初始化 |
git init |
在当前目录初始化新的 Git 仓库 |
| 仓库克隆 |
git clone <仓库地址> |
克隆远程仓库到本地(支持 HTTPS 或 SSH 地址) |
| 状态查看 |
git status |
查看工作区、暂存区的文件状态(已修改、未跟踪、已暂存等) |
| 暂存操作 |
git add <文件名> |
将指定文件添加到暂存区 |
| 暂存操作 |
git add . |
将当前目录下所有修改、新增文件添加到暂存区 |
| 暂存操作 |
git add -u |
仅将已跟踪文件的修改添加到暂存区(忽略未跟踪文件) |
| 提交操作 |
git commit -m "<提交信息>" |
将暂存区文件提交到本地仓库,需填写清晰的提交说明 |
| 提交操作 |
git commit --amend |
补充上一次提交(修改提交信息或追加文件,未推送远程时使用) |
| 分支操作 |
git branch |
查看本地所有分支(当前分支前带 *) |
| 分支操作 |
git branch <分支名> |
创建新分支(基于当前分支) |
| 分支操作 |
git checkout <分支名> |
切换到指定分支 |
| 分支操作 |
git checkout -b <分支名> |
创建并直接切换到新分支 |
| 分支操作 |
git merge <分支名> |
将指定分支合并到当前分支 |
| 分支操作 |
git branch -d <分支名> |
删除本地已合并的分支 |
| 分支操作 |
git branch -D <分支名> |
强制删除本地分支(无论是否合并) |
| 远程仓库操作 |
git remote -v |
查看远程仓库地址映射 |
| 远程仓库操作 |
git remote add <远程名> <仓库地址> |
添加远程仓库(默认远程名通常为 origin) |
| 拉取远程代码 |
git pull <远程名> <分支名> |
拉取远程分支代码并合并到本地当前分支(如 git pull origin main) |
| 推送本地代码 |
git push <远程名> <分支名> |
将本地分支代码推送到远程仓库(如 git push origin main) |
| 推送本地代码 |
git push -u <远程名> <分支名> |
推送并关联远程分支(后续可直接用 git push) |
| 查看提交记录 |
git log |
查看本地仓库提交历史(按时间倒序,显示提交者、时间、提交信息) |
| 查看提交记录 |
git log --oneline |
简洁显示提交历史(仅显示提交哈希前 7 位和提交信息) |
| 查看提交记录 |
git log --graph |
图形化显示分支合并历史 |
| 撤销操作 |
git reset --hard <提交哈希> |
回退到指定提交版本(丢弃后续所有修改,谨慎使用) |
| 撤销操作 |
git reset --soft <提交哈希> |
回退到指定提交版本(保留工作区和暂存区修改) |
| 撤销操作 |
git checkout -- <文件名> |
撤销工作区对指定文件的修改(未暂存时有效) |
| 撤销操作 |
git rm --cached <文件名> |
将文件从暂存区移除(保留工作区文件,取消跟踪) |
| 标签操作 |
git tag <标签名> |
创建轻量标签(如版本号 v1.0.0) |
| 标签操作 |
git tag -a <标签名> -m "<标签说明>" |
创建带注释的标签 |
| 标签操作 |
git push <远程名> <标签名> |
推送标签到远程仓库 |
| 其他常用 |
git stash |
暂存工作区未提交的修改(切换分支前使用,避免冲突) |
| 其他常用 |
git stash pop |
恢复最近一次暂存的修改,并删除暂存记录 |
| 其他常用 |
git fetch |
拉取远程仓库所有分支更新(不自动合并到本地分支) |