Git常用指令汇总

创建仓库/init

git init

创建成功后当前目录下会生成一个.git目录,用于跟踪和管理版本库。

添加文件/add

git add

. 自动添加本地所有修改。

提交/commit

git commit

$-m$ 增加提交信息。
$-a$ 自动寻找修改的文件并提交。

状态查看/status

git status

$-s$ 简短输出。

改动查看/diff&blame

git diff

$–cached$ 显示暂存区的改动。
$HEAD$ 查看所有改动。
$–stat$ 显示摘要。

git blame

文件修改记录。

历史查看/log

git log

按时间由近到远排序,列出最近的三次提交。
$-p\ \ [filename]$ 文件最后一次提交信息。
$–pretty=oneline$ 可以列出简略的信息。
$–graph$ 拓扑图显示。
$–reverse$ 逆向显示。
$–author=$ 查找指定作者。
$–since$, $–before$, $–util$, $–after$ 指定日期。
$–decorate$ 显示标签。

提交撤销/revert

git revert

回退版本/reset

git reset --hard HEAD^
git reset --hard HEAD~2
git reset --hard 56e7

$HEAD$ 表示当前版本。^ 表示回退一个版本,可以输入多个 ^。$\sim$ 之后可以输入任意数字,表示回退对应数量的版本。也可以直接输入版本号,版本号通过 $git\ \ log$ 命令查询,使用版本号不仅可以回退版本,在错误回退版本之后,也可以前进到指定的版本,版本号可以不写全,但一定要写到Git能识别出唯一一个版本为止。

git reset HEAD [filename]

撤销暂存区的改动。

git reset --keep

回退并保存未提交的改动。

指令记录查询/reflog

git reflog

此指令会列出曾经执行过的指令,也会显示版本号。

文件删除/rm

git rm

$-f$ 删除之前修改且放到暂存区的文件。
$–cached$ 只删除在暂存区的文件。
$-r$ 递归删除子目录和文件。

文件移动/mv

git mv

也可以用于重命名文件。

文件拷贝/clone

git clone

分支切换/checkout&switch

git checkout

$–\ \ \ \ [filename]$ 丢弃工作区指定文件的改动(不切换分支)。
$-b$ 创建新分支并立即切换到该分支。

git switch

$-c$ 创建并切换到新的分支。

分支管理/branch

git branch

不加分支名可以列出分支。
$-d$ 删除分支。
$-D$ 强制删除分支。
$ –set-upstream-to=[origin/branch]\ \ \ \ [local branch] $ 关联本地分支与远程库分支。
$–track$ 基于远程分支创建新分支。
$[origin]\ \ \ \ –delete\ \ \ \ [branch]$ 删除远程分支。

合并分支/merge&mergetool

git merge

$–no-ff$ 分支时提交(即保留分支信息)。

git mergetool

使用配置的合并工具解决冲突。

远程库/remote

git remote

查看远程库信息。
$-v$ 查看详细信息。

git remote add [remote] [url]

创建远程库,远程库名字默认为$origin$。

git remote rename

重命名远程库。

远程库推送/push

git push [remote] [local branch]

也可以将本地分支名改为标签名,或改为 $–tags$ 推送所有未推送的标签, $:refs/tags/[tag name]$ 删除指定标签。
$-u$ 关联对应库和本地分支,简化后续操作。
$-[remote]:[old name]$ 重命名远程分支。

提交抓取/pull&fetch

git pull [remote] [branch]
git fetch [remote]

下载新数据与分支。

工作区储存/stash

git stash
git stash list
git stash apply
git stash drop
git stash pop

分别用于储存、列出、恢复、删除储存内容,$pop$ 会在恢复同时删除储存内容。

改动复制/cherry-pick

git cherry-pick

将对应的提交改动复制到另一个分支。

变基/rebase

git rebase

$–abort$ 终止合并。
$–continue$ 继续合并。

标签创建/tag

git tag
git tag [tag name] [commit id]

未指定标签名时列出所有标签,不指定版本号时默认为当前版本。 $-a$ 为标签添加注解。 $-d$ 删除指定标签。

信息显示/show

git show

$[tag name]$ 查看标签信息。

git remote show

$[remote]$ 查看远程库信息。

Git常用指令汇总