Git 是一种分布式版本控制系统。借助此备忘单,您可以快速查阅最常用的 Git 命令。
🛠️ 配置设置
在开始前,先配置您的身份信息。使用 --global 选项表示对您系统上的所有仓库生效。
1 2 3 4
| git config --global user.name "您的姓名" git config --global user.email "您的邮箱" git config --global core.editor "code --wait" # 设置VS Code为默认提交编辑器 git config --global alias.st status # 创建常用命令的别名,例如用 `git st` 代替 `git status`
|
🚀 入门与基础操作
| 命令 |
用途 |
git init |
在当前目录初始化一个新的Git仓库 |
git clone <仓库地址> |
将远程仓库克隆到本地 |
git status |
查看工作区和暂存区的文件状态 |
git add <文件名> |
将特定文件的更改添加到暂存区 |
git add . |
添加当前目录下所有更改的文件到暂存区 |
git commit -m "提交信息" |
将暂存区的更改提交到本地仓库 |
git commit -am "提交信息" |
对已跟踪的文件,一次性完成添加和提交(相当于 git add -u 和 git commit -m 的组合) |
🌱 分支管理
分支是Git的核心,允许您在不影响主线代码的情况下独立工作。
| 命令 |
用途 |
git branch |
列出所有本地分支 |
git branch -a |
列出所有本地和远程分支 |
git branch <分支名> |
创建一个新分支 |
git checkout <分支名> 或 git switch <分支名> |
切换到指定分支 |
git checkout -b <新分支名> |
创建并立即切换到新分支 |
git merge <分支名> |
将指定分支的更改合并到当前分支 |
git branch -d <分支名> |
删除一个已合并的分支 |
git branch -D <分支名> |
强制删除一个分支(即使它未被合并) |
git branch -m <新分支名> |
重命名当前分支 |
📡 远程协作
| 命令 |
用途 |
git remote -v |
查看已关联的远程仓库 |
git remote add origin <仓库地址> |
添加一个远程仓库并命名为 origin |
git push -u origin <分支名> |
将本地分支推送到远程仓库,并建立追踪关系(首次推送后可使用 git push) |
git fetch |
从远程仓库下载最新数据,但不会自动合并到工作区 |
git pull |
从远程仓库拉取更新并合并到当前分支(相当于 git fetch + git merge) |
git push origin --delete <远程分支名> |
删除远程仓库的指定分支 |
⏪ 撤销与回退
当需要修正错误时,这些命令非常重要。
| 命令 |
用途 |
git commit --amend |
修改最近一次提交。可以修改提交信息,或者将暂存区的新更改加入上次提交。 |
git reset --soft HEAD~1 |
撤销上次提交,但保留更改内容在暂存区。 |
git reset --mixed HEAD~1 |
撤销上次提交,并取消暂存更改(默认选项)。 |
git reset --hard HEAD~1 |
谨慎使用。撤销上次提交,并丢弃所有工作区的更改。 |
git checkout -- <文件名> |
撤销对某个文件在工作区的修改(还原到最近一次提交的状态)。 |
git revert <某次提交的哈希值> |
创建一个新的提交来撤销指定提交的更改,这是一种安全且不重写历史的撤销方式,特别适合用于已推送的提交。 |
💾 临时保存更改(储藏)
当您需要临时切换分支但又不想提交未完成的工作时,储藏功能非常有用。
1 2 3 4 5
| git stash # 将当前工作区和暂存区的更改临时储藏起来 git stash list # 列出所有的储藏栈 git stash pop # 应用最近一次储藏的更改,并将其从储藏栈中删除 git stash apply # 应用最近一次储藏的更改,但不从储藏栈中删除 git stash drop # 删除最近一次储藏的更改
|
🔍 查看与比较
| 命令 |
用途 |
git log --oneline |
以简洁的单行格式查看提交历史。 |
git log --graph |
以图形化方式查看分支合并历史。 |
git diff |
查看工作区与暂存区之间的差异。 |
git diff --staged |
查看暂存区与上一次提交之间的差异。 |
git show <提交哈希值> |
显示某次提交的具体修改内容。 |