git命令
**配置工具** 配置所有本地存储库的用户信息
```
$ git config --global user.name "[name]"`
设置要附加到提交事务的名称
`$ git config --global user.email "[email address]"`
设置要附加到提交事务的电子邮件
`$ git config --global color.ui auto`
启用命令行输出的有用颜色
查看已存放:(这个最有用)
`$ git ls-files`
查看还没添加的文件:
`$ git status`
git push <远程主机名> <本地分支名>:<远程分支名>
强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容
git push -f
```
______
**创建存储库** 启动新存储库或从现有URL获取存储库
```
`$ git init [project-name]`
创建具有指定名称的新本地存储库
`$ git clone [url]`
下载项目及其整个版本历史记录
```
**make changes** 查看编辑并熟练提交事务
```
`$ git status`
列出要提交的所有新文件或已修改文件
`$ git add [file]`
快照文件以准备版本控制
`$ git reset [file]`
取消暂存文件,但保留其内容
`$ git diff`
显示尚未暂存的文件差异
`$ git diff --staged`
显示暂存区和上一个文件版本之间的文件差异
`$ git commit -m "[descriptive message]"`
在版本历史记录中永久记录文件快照
```
------
**group changes** 命名一系列提交并组合完成的工作
```
`$ git branch`
列出当前存储库中的所有本地分支
`$ git branch [branch-name]`
创建一个新分支
`$ git checkout [branch-name]`
切换到指定的分支并更新工作目录
`$ git merge [branch]`
将指定分支的历史记录合并到当前分支中
`$ git branch -d [branch-name]`
删除指定的分支
```
----------
**重构文件** 重新定位和删除版本化文件
```
`$ git rm [file]`
从工作目录中删除该文件并分阶段删除
`$ git rm --cached [file]`
从版本控制中删除该文件,但在本地保留该文件
`$ git mv [file-original] [file-renamed]`
更改文件名并准备提交
```
**禁止跟踪** 排除临时文件和路径
```
*.log
build/
temp-*
名为.gitignore的文本文件会抑制与指定的paterns匹配的文件和路径的意外版本控制
$ git ls-files --other --ignored --exclude-standard
列出此项目中所有被忽略的文件
```
**保存碎片** 搁置并恢复不完整的更改
```
`$ git stash`
临时存储所有已修改的跟踪文件
`$ git stash list`
列出所有存储的变更集
`$ git stash pop`
恢复最近存储的文件
`$ git stash drop`
丢弃最近存储的变更集
```
**回顾历史** 浏览并检查项目文件的演变
```
`$ git log`
列出当前分支的版本历史记录
`$ git log --follow [file]`
列出文件的版本历史记录,包括重命名
`$ git diff [first-branch]...[second-branch]`
显示两个分支之间的内容差异
`$ git show [commit]`
输出指定提交的元数据和内容更改
```
**撤销提交** 消除错误并制作替代历史
```
`$ git reset [commit]`
撤消所有在[commit]之后的提交,在本地保留更改
`$ git reset --hard [commit]`
丢弃所有历史记录并更改回指定的提交
```
**同步更改** 注册存储库书签并交换版本历史记录
```
$ git fetch [bookmark]
从存储库书签下载所有历史记录
$ git merge [bookmark]/[branch]
将书签的分支合并到当前的本地分支中
$ git push [alias] [branch]
将所有本地分支提交上传到GitHub
$ git pull
下载书签历史记录并包含更改
```
```
# git配置信息
git config --system --list
git config --global --list
git config --local --list
```
```
重构文件名
重新定位和删除版本化文件
$ git rm [file]
从工作目录中删除该文件并分阶段删除
$ git rm --cached [file]
从版本控制中删除该文件,但在本地保留该文件
$ git mv [file-original] [file-renamed]
更改文件名并准备提交
==============================
回顾历史
浏览并检查项目文件的演变
$ git log
列出当前分支的版本历史记录
$ git log --follow [file]
列出文件的版本历史记录,包括重命名
$ git diff [first-branch]...[second-branch]
显示两个分支之间的内容差异
$ git show [commit]
输出指定提交的元数据和内容更改
==============================
禁止跟踪
排除临时文件和路径
*.log
build/
temp-*
名为.gitignore的文本文件会抑制与指定模式匹配的文件和路径的意外版本控制
$ git ls-files --other --ignored --exclude-standard
列出此项目中所有被忽略的文件
重做提交
消除错误并制作替代历史
$ git reset [commit]
在[commit]之后撤消所有提交,在本地保留更改
$ git reset --hard [commit]丢弃所有历史记录并更改回指定的提交==============================
保存碎片
搁置并恢复不完整的更改
$ git stash
临时存储所有已修改的跟踪文件
$ git stash pop
恢复最近隐藏的文件
$ git stash list
列出所有隐藏的变更集
$ git stash drop
丢弃最近隐藏的变更集
==============================
同步更改
注册存储库书签并交换版本历史记录
$ git fetch [bookmark]
从存储库书签下载所有历史记录
$ git merge [bookmark]/[branch]
将书签的分支合并到当前的本地分支中
$ git push [alias] [branch]
将所有本地分支提交上传到GitHub
$ git pull
下载书签历史记录并包含更改
```