Git 常用命令和用法

速查 Git 常用的命令和用法。分为基本(commit、branch、checkout、merge、rabase 等)和远程(clone、push、pull 等)两部分。

本文基于 chatGPT 自动生成初稿(省时省力😁),并参考 learngitbranching 进行调整。

git init:创建一个新的 Git 仓库。

git add [file]:将文件添加到 Git 的暂存区。

git commit -m [message]:将暂存区的文件提交到 Git 仓库,并添加一条注释。

git status:查看当前 Git 仓库的状态,包括已修改、已暂存和未跟踪的文件。

git diff:查看未暂存文件和最后一次提交之间的差异。

git diff --staged:查看已暂存文件和最后一次提交之间的差异。

git log:查看 Git 仓库的提交历史。

git reflog:查看命令历史,即分支的所有操作记录。

git tag [name]:给当前的提交打上标签。

git reset:取消暂存或取消上一次提交。

git rm [file]:从 Git 仓库中删除文件。

git branch [name]:创建一个新的分支。

git branch -d[D] [name]:删除[强制删除]一个分支。

git checkout [branch-name]:切换到另一个分支。

git checkout -b [branch-name]:创建同时切换到另一个分支。

git merge [branch]:将指定的分支合并到当前分支。

git rebase [branch]:将当前分支的提交步骤顺接到指定分支。

git clone [url]:从远程仓库克隆一个副本到本地。

git pull:从远程仓库拉取最新的代码到本地。

git push [origin] [master]:将本地 master 分支推送到远程仓库。

git remote -[v] 查看远程仓库[详细]信息。

git remote add [name] [url]:将远程仓库添加到 Git 仓库。

git fetch:从远程仓库获取最新的代码,但不进行合并。先fetch,再merge就相当于pull

HEAD:指向当前正在处理的提交记录。

C^[number]:表示指向提交记录 C 的第 number 个直接父记录(宽度搜索)。一个记录可能会有多个父记录(执行 merge 时产生)。C^C^1 等价;number大于 1 时表示指向其他父记录。

C~[number]:表示指向提交记录 C 的回溯第 number 代的祖先记录(深度搜索)。