Git 使用
设置全局变量
git config --global user.name "name"git config --global user.email "email"
查看全局变量
git config --global --list
使用不同颜色显示不同文件的内容
git config --global color.ui "auto"
查看提交的日志信息
git log
查看工作目录树与暂存区之间的区别(即还没有通过git add提交修改的内容)
git diff
查看版本库与暂存区之间的区别(即显示通过git add提交到暂存区的内容,不考虑为提交到暂存区的内容)
git diff --cached
查看版本库与工作目录树的区别(包括提交到暂存区的和未提交到暂存区的内容)
git diff HEAD
创建新的分支并检出该分支
git checkout -b new master //指明是从主分支master创建新的分支
分支重命名
git branch -m origin_name new_name
创建并检出分支
git checkout -b alternative master //从master分支创建alternative分支
等同于
git branch alternativegit checkout alternative
查询Git历史记录
显示版本间的代码差异
git log -p
显示指定数目的log
git log -5
查看近一段时间内的提交
git log --since="5 hours" git log --since="1 minute"
查看5小时之前的最后一个提交
git log --before="5 hours" -1
特殊符号:
^:脱字号相当于回溯一个版本
~N:相当于回溯N个版本
git log -1 HEAD^^^git log -1 HEAD^~2git log -1 HEAD~1^^git log -1 HEAD~3
上面的4条语句具有同样的效果。
查看某个版本与当前工作目录树之间的差异
git diff 18f822e/版本号
修改提交的说明
git commit --amend
增补提交
(如果提交的某个修改有误,可以修改后用下面指令提交,覆盖原来的提交记录)
git commit -C HEAD -a --amend
-C 指明复用上次提交的提交留言,-c会打开编辑器进行留言修改。
反转提交
git revert 提交码
反转多个提交
git revert -n HEADgit revert -n 540ecb7git commit -m "revert 45eaf98 and 540ecb7"
复位
git reset --hard HEAD^ //撤销前两个提交
与远程版本库协作
Git 提供了三种与远程版本库通信的协议:
- SSH
- git
- HTTP/HTTPS
SSH URL 组成结构
git(用户名)@github.com/tswicegood/mysite-chp6.git(版本库路径)
git@github.com这部分告诉Git,通过SSH协议,使用用户名git登录到github.com服务器上,并且克隆路径是tswicegood/mysite-chp6.git的版本库。
git commit 与git commit -a:
git commit 只会提交已经存储在暂存区的内容
git commit -a会提交所有的修改,包括没有用git add 提交到暂存区的内容