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]$ 查看远程库信息。