git checkout
切换到已存在的指定分支
$ git checkout <分支名称>
创建并切换到指定的分支,保留所有的提交记录
等同于 “git branch” 和 “git checkout” 两个命令合并
$ git checkout -b <分支名称>
创建并切换到指定的分支,删除所有的提交记录
$ git checkout --orphan <分支名称>
替换掉本地的改动,新增的文件和已经添加到暂存区的内容不受影响
$ git checkout <文件路径>
git clone
默认在当前目录下创建和版本库名相同的文件夹并下载版本到该文件夹下
$ git clone <远程仓库的网址>
指定本地仓库的目录
$ git clone <远程仓库的网址> <本地目录>
-b 指定要克隆的分支,默认是master分支
$ git clone <远程仓库的网址> -b <分支名称> <本地目录>
git commit
把暂存区中的文件提交到本地仓库,调用文本编辑器输入该次提交的描述信息
$ git commit
把暂存区中的文件提交到本地仓库中并添加描述信息
$ git commit -m "<提交的描述信息>"
把所有修改、已删除的文件提交到本地仓库中
不包括未被版本库跟踪的文件,等同于先调用了 “git add -u”
$ git commit -a -m "<提交的描述信息>"
修改上次提交的描述信息
$ git commit --amend
git config
主要是用来配置 Git 的相关参数,其主要操作有:
查看配置信息
–local:仓库级,–global:全局级,–system:系统级
$ git config <--local | --global | --system> -l
查看当前生效的配置信息
$ git config -l
编辑配置文件
–local:仓库级,–global:全局级,–system:系统级
$ git config <--local | --global | --system> -e
添加配置项
–local:仓库级,–global:全局级,–system:系统级
$ git config <--local | --global | --system> --add <name> <value>
获取配置项
$ git config <--local | --global | --system> --get <name>
删除配置项
$ git config <--local | --global | --system> --unset <name>
配置提交记录中的用户信息
$ git config --global user.name <用户名> $ git config --global user.email <邮箱地址>
更改Git缓存区的大小
如果提交的内容较大,默认缓存较小,提交会失败
缓存大小单位:B,例如:524288000(500MB)
$ git config --global http.postBuffer <缓存大小>
调用 git status/git diff 命令时以高亮或彩色方式显示改动状态
$ git config --global color.ui true
配置可以缓存密码,默认缓存时间15分钟
$ git config --global credential.helper cache
配置密码的缓存时间
缓存时间单位:秒
$ git config --global credential.helper 'cache --timeout=<缓存时间>'
配置长期存储密码
$ git config --global credential.helper store
Git 一共有3个配置文件:
仓库级的配置文件:在仓库的 .git/.gitconfig,该配置文件只对所在的仓库有效。
全局配置文件:Mac 系统在 ~/.gitconfig,Windows 系统在 C:\Users<用户名>.gitconfig。
系统级的配置文件:在 Git 的安装目录下(Mac 系统下安装目录在 /usr/local/git)的 etc 文件夹中的 gitconfig。
git diff
用于显示提交和工作树等之间的更改。
此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容。
比较当前文件和暂存区中文件的差异,显示没有暂存起来的更改
$ git diff
比较暂存区中的文件和上次提交时的差异
$ git diff --cached $ git diff --staged
比较当前文件和上次提交时的差异
$ git diff HEAD
查看从指定的版本之后改动的内容
$ git diff <commit ID>
比较两个分支之间的差异
$ git diff <分支名称> <分支名称>
查看两个分支分开后各自的改动内容
$ git diff <分支名称>...<分支名称>
git fetch
从远程仓库获取最新的版本到本地的 tmp 分支上。
将远程仓库所有分支的最新版本全部取回到本地
$ git fetch <远程仓库的别名>
将远程仓库指定分支的最新版本取回到本地
$ git fetch <远程主机名> <分支名>