git常用命令
由于之前开发一直使用的svn,然鹅,最近的项目中开始使用git,于是赶紧马上立即去看了一下廖雪峰大神的git讲解,身为一个刚入行不久的菜鸡实在慌得一匹。
大神终归是大神,深入浅出讲解各种命令,菜鸡还是原来的菜鸡,常用的就那么几个。
先来认识几个概念,git有工作区,暂存区(index)以及第一个master分支
工作区可以理解为本地目录,当我们要提交代码到版本库时,可以分为两步:
1. git add 会将修改文件添加到暂存区
2. git commit 将暂存区所有内容提交到当前分支
git的强大之处在于分支,每次更新代码都会串成一条时间线即一个分支。其中,HEAD指针指向当前分支。当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:
创建dev分支 : git branch dev
切换dev分支 : git checkout dev
查看当前分支: git branch
不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变:
假如我们在dev上的工作完成了,就可以把dev合并到master上。最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:
将dev合并到当前分支 : git merge dev
删除dev分支: git branch -d dev
如果我们想要回退至之前的版本,可以使用reset命令
git reset –hard HEAD^ 代表HEAD指针指向的上一个版本 上上版本就是HEAD^^ ………
当然,如果要回退到指定版本的话,需要知道版本号如1094a23sdadf,只需要输入版本号前几位,不重复即可
git reset –hard 1094a
我们也可以选择丢弃工作区的修改。如果file已经添加到暂存区则回到暂存区中状态,否则回到版本库状态
git checkout – filename
当然,每次我们写代码之前要先pull一下,以保证本地代码是同步的,免去写了三天三夜代码后发现和版本库中差距过大的尴尬状态。提交时冲突解决和svn差不多,不再赘述。
附大神地址
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000