Git命令
参考一:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
参考二:http://rogerdudler.github.io/git-guide/index.zh.html
一、git的工作原理
下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
二、git常用命令行
1、创建版本库
1.1 首先,选择一个合适的地方,创建一个空目录:
$ cd ~/Desktop/
$ mkdir repo
$ cd repo
或者 下载一个项目和它的整个代码历史
$ git clone [版本库的网址]
1.2 其次,在终端上输入git init命令,如下:
$ git init
Initialized empty Git repository in /Users/liyan/Desktop/repo/.git/
这样,一个本地仓库就顺利地建好了。
1.3 最后,每创建一个仓库时,当前目录都会多一个.git目录,若是没有看到,只需要使用ls -ah命令即可:
$ ls -ah
2、添加文件到版本库
2.1 首先,创建一个GitTest.md文件,内容如下:
$ vi repo.md
2.2 其次,使用git add命令添加文件,如下:
$ git add repo.md
2.3 最后,使用命令git commit将文件提交到仓库,如下:
$ git commit -m "Wrote README"
其中,-m后面输入的是本次提交的详细信息,比如,完成了哪个功能或者修复了哪个bug。
3、查看仓库状态
3.1 首先,先对提交的GitTest.md中的信息进行修改,然后运行git status,效果如下:
$ git status
4、查看修改内容
4.1 使用命令git diff可以查看具体修改了哪些内容,如下:
$ git diff
5、版本回退
5.1 首先,使用git log命令查看历史记录,如下:
$ git log
如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数:
$ git log --pretty=oneline
5.2 使用git reset命令可以回退到上一个版本,输入git reset --hard commit id,如下
$ git reset --hard 1a43e33a3c175290d32347f4053ebaa6a50311dd
5.3 查看命令历史
$ git reflog
6、工作区与暂存区
工作区:上几步中在电脑创建的文件目录就是工作区。版本库就是隐藏目录.git 。添加文件时,首先,用git add把文件添加进去,实际上是把文件修改添加到暂存区;然后,用git commit提交更改,是把暂存区的内容提交到当前分支;最后,每次文件修改后,如果不add到暂存区,那是不会加入到commit。
7、撤销修改
撤销对工作区中readme.txt文件的修改
$ git checkout -- readme.txt
8、删除文件
在工作区删除文件后,一般有两种处理方法
一、完全删除,同时删除本地仓库中对应的文件,具体操作如下:
$ git rm test.txt
$ git commit -m "remove test.txt"
二、撤销删除
$ git checkout -- test.txt
9、远程仓库
9.1 添加远程库:首先登陆github账号,点击“New repository ”按钮,创建新仓库,需要填写仓库名,描述以及是否勾选创建初始化文件等。
$ git remote add origin https://github.com/lyking1990/repo.git
9.2 然后,将本地库的所有内容推送到远程库:
$ git push -u origin master
9.3 从远程的分支获取最新的版本到本地
$ git fetch origin master:相当于是从远程获取最新版本到本地,不会自动merge
首先从远程的origin的master主分支下载最新的版本到origin/master分支上,然后比较本地的master分支和origin/master分支的差别,最后进行合并
$ git pull origin master:相当于是从远程获取最新版本并merge到本地
10、创建与合并分支
概念:创建分支的目的是让你的工作变得更灵活更有效率,当你开发新功能时,你创建了一个分支,你可以在在原来分支继续工作,也可以在新建的分支上工作,两者之间不会干预,当你完成了新功能,只需将新分支合并到原来分支上即可。最吸引人的是Git创建和切换分支是非常速度的。
10.1 创建dev分支,然后切换到dev分支,使用git checkout命令:-b参数表示创建并切换.
$ git checkout -b dev
10.2 使用git branch命令查看当前分支:
$ git branch
10.3 我们在dev分支进行操作,修改README.md文件内容然后提交:
$ vi repo.md
$ git add .
$ git commit -m "dev branch"
10.4 dev分支工作结束,切换到master分支,
$ git checkout master
10.5 使用git merge指令把dev分支的工作成果合并到master分支上
$ git merge dev
10.6 使用git branch -d dev命令删除dev分支:
$ git branch -d dev
小结
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d
Git 查看config配置信息
config 配置有system级别、 global(用户级别) 和local(当前仓库)三个 设置先从system-->global-->local 底层配置会覆盖顶层配置 分别使用--system/global/local 可以定位到配置文件
# 查看系统config
$ git config --system --list
# 查看当前用户(global)配置
$ git config --global --list
# 查看当前仓库配置信息
$ git config --local--list
# 由此可见--global中存储了提交用户的email和用户名 如果需要手动设置则可以使用如下指令
$ git config --global user.name "myname"
$ git config --global user.email "test@gmail.com"