Git配置

为所有的本地仓库配置用户信息

$ git config –global user.name "[name]"
设置个人用户名

$ git config –global user.email "[email address]"
设置个人电子邮箱

$ git config –global color.ui auto
自动为命令行的输出加上颜色

创建仓库

启动一个新的仓库或从已经存在的URL获取

$ git init [project-name]
新建一个目录,将其初始化为Git代码仓库

$ git clone [url]
下载一个项目和它的整个代码历史

创建管理

创建编辑与提交暂存区

$ git status
列出需要提交的新的或修改的文件

$ git diff
显示暂存区和上一个commit的差异

$ git add [file]
添加指定文件到暂存区

$ git diff –staged
比较暂存区和版本库差异

$ git reset [file]
重置暂存区的制定文件,与上一次commit保持一致,工作区不变

$ git commit -m “[descriptive message]”
提交暂存区的指定文件到代码仓库

分支管理

创建分支与合并分支

$ 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-*
文件 named .gitignore 配置忽略文件和匹配忽略指定路径的文件

$ git ls-files –other –ignored –exclude-standard
列出这个项目中所有忽略的文件

保存现场

保存和恢复现场

$ git stash
保存工作现场

$ git stash pop
恢复最近的工作现场

$ git stash list
列出所有的stash

$ git stash drop
删除暂存区

查看更新

浏览查看文件更新历史

$ git stash
保存工作现场

$ git stash pop
恢复最近的工作现场

$ git stash list
列出所有的stash

$ git stash drop
删除暂存区

回退操作

消除错误与更换历史

$ git reset [commit]
重置当前分支的指针为指定commit,同时重置暂存区

$ git reset –hard [commit]
重置当前分支的HEAD为指定commit,同时重置暂存区和工作区

同步管理

注册一个仓库和交换版本历史

$ git fetch [bookmark]
从远程仓库下载

$ git merge [bookmark]/[branch]
将仓库的分支结合到当前本地分支

$ git push [alias] [branch]
上传本地所有分支到GitHub

$ git pull
抓取远程仓库所有分支合并到本地