总结
学无止境
一、基本命令
1.查看全局仓库配置
git config --global --list
一个项目配置的级别依次是system、global、local,下一级的覆盖上一级的配置,例如全局中user.name是one,会被local的user.name是two覆盖,即覆盖公有的变量,最后以local为主
2.修改全局用户名/邮箱
git config --global user.name(user.email) 用户名(邮箱)
3.获取仓库
3.1通过初始化本地目录创建Git仓库
git init
初始化之后会在对应目录生成一个隐藏的目录放置Git所有的必须文件
3.2从其他远程Git仓库克隆
git clone 仓库地址 克隆后目录名字(可选)
仓库地址后可再接一个参数用于自定义克隆到本地目录的名字
4.检查当前仓库文件修改状态
git status
可以看到所处分支(on branch master),那些文件状态发生了变化(增删查改)
5.文件暂存
git add 文件名(暂存指定文件) git add -A (暂存全部文件) git reset 文件名 (取消暂存指定文件) git reset --no--refresh (取消暂存全部文件) git diff (查看未暂存文件的修改内容) git diff --staged/-cached(查看已暂存文件的修改内容)
暂存会将文件添加到缓冲区,记录为跟踪,被跟踪的文件才可以进行提交更新
5.1查看暂存和未文件的修改
git diff(查看未暂存文件的修改内容)
git diff --staged/-cached(查看已暂存文件的修改内容)
5.2取消文件修改
git checkout -- 文件名
慎用
6.提交更新
git commit (打开编辑器编写提交信息,完成后提交) git commit -m 更新信息(快捷提交更新) git commit -a -m 更新消息(跳过使用暂存区域,直接提交被跟踪修改的文件)
git commit -m把暂存区的文件提交更新
git commit -a -m 直接提交已被跟踪的文件不需要先暂存;未被跟踪的文件不会被commit,例如新建的文件,这种文件还是需要通过git add来先跟踪该文件
6.1查看更新
git log(查看全部提交记录) git -p -2 (-p参数会按补丁格式显示提交记录,数字参数表示显示最近几次的提交记录) git log --pretty=oneline(一行显示提交记录) git log --pretty=format(按照指定格式显示提交记录) git log 其他常用选项
git log --pretty=oneline可以让所有的记录都一行显示
6.11查看更新记录输出格式
git log --pretty=format格式化显示提交记录
| 选项 | 说明 |
|---|---|
| %H | 提交的完整哈希值 |
| %h | 提交的简写哈希值 |
| %T | 树的完整哈希值 |
| %t | 树的简写哈希值 |
| %P | 父提交的完整哈希值 |
| %p | 父提交的简写哈希值 |
| %an | 作者名字 |
| %ae | 作者的电子邮件地址 |
| %ad | 作者修订日期(可以用 --date=选项 来定制格式) |
| %ar | 作者修订日期,按多久以前的方式显示 |
| %cn | 提交者的名字 |
| %ce | 提交者的电子邮件地址 |
| %cd | 提交日期 |
| %cr | 提交日期(距今多长时间) |
| %s | 提交说明 |
6.12按照特定条件检索更新记录
git log 其他选项
| 选项 | 说明 |
|---|---|
| n | 仅显示最近的 n 条提交 |
| --since, --after | 仅显示指定时间之后的提交 |
| --until, --before | 仅显示指定时间之前的提交 |
| --author | 仅显示作者匹配指定字符串的提交 |
| --committer | 仅显示提交者匹配指定字符串的提交 |
| --grep | 仅显示提交说明中包含指定字符串的提交 |
| -S | 仅显示添加或删除内容匹配指定字符串的提交 |
6.2修改更新
git commit -amend
修改替换最近一次更新,如果提交更新后有某个文件已经修,改忘记加入暂存或者是commit信息写错,可以通过此方法直接覆盖掉最近这次更新,而不需要重新提交