Author: haoransun
Wechat: SHR—97
新建
创建一个新的 git 版本库。这个版本库的配置、存储等信息会被保存到.git 文件夹中
1 | # 初始化当前项目 |
配置
更改设置。可以是版本库的设置,也可以是系统的或全局的
1 | # 显示当前的Git配置 |
帮助
git 内置了对命令非常详细的解释,可以供我们快速查阅
1 | # 查找可用命令 |
状态
显示索引文件(也就是当前工作空间)和当前的头指针指向的提交的不同
1 | # 显示分支,未跟踪文件,更改和其他不同 |
信息
获取某些文件,某些分支,某次提交等 git 信息
1 | 显示commit历史,以及每次commit发生变更的文件 |
添加
添加文件到当前工作空间中。如果你不使用 git add
将文件添加进去,那么这些文件也不会添加到之后的提交之中
1 | # 添加一个文件 |
删除
rm 和上面的 add 命令相反,从工作空间中去掉某个文件
1 | # 移除 HelloWorld.js |
分支
管理分支,可以通过下列命令对分支进行增删改查切换等
1 | # 查看所有的分支和远程分支 |
检出
将当前工作空间更新到索引所标识的或者某一特定的工作空间
1 | # 检出一个版本库,默认将更新到master分支 |
远程同步
远程同步的远端分支
1 | # 下载远程仓库的所有变动 |
撤销
1 | # 恢复暂存区的指定文件到工作区 |
commit
将当前索引的更改保存为一个新的提交,这个提交包括用户做出的更改与信息
1 | # 提交暂存区到仓库区附带提交信息 |
diff
显示当前工作空间和提交的不同
1 | # 显示工作目录和索引的不同 |
grep
可以在版本库中快速查找
可选配置:
1 | # 在搜索结果中显示行号 |
log
显示这个版本库的所有提交
1 | # 显示所有提交 |
merge
合并就是将外部的提交合并到自己的分支中
1 | # 将其他分支合并到当前分支 |
mv
重命名或移动一个文件
1 | # 重命名 |
tag
1 | # 列出所有tag |
pull
从远端版本库合并到当前分支
1 | # 从远端origin的master分支更新版本库 |
ci
1 | $ git ci <file> |
rebase (谨慎使用)
将一个分支上所有的提交历史都应用到另一个分支上
不要在一个已经公开的远端分支上使用 rebase.
1 | # 将experimentBranch应用到master上面 |
reset (谨慎使用)
将当前的头指针复位到一个特定的状态。这样可以使你撤销 merge、pull、commits、add 等
这是个很强大的命令,但是在使用时一定要清楚其所产生的后果
1 | # 使 staging 区域恢复到上次提交时的状态,不改变现在的工作目录 |
其他
1 | # 生成一个可供发布的压缩包 |