GIT基础笔记之一:从浅入深使用GIT
-
前言
- 由于公司一直用的TortoiseSVN,导致之前用的一些git命令忘记,因此做个笔记总结一下,顺便后续部署几个自己的小项目,同时为大家在学习代码的路上越走越远,尽一点绵薄之力,如果这篇博文能够帮助到您一星半点,我将不胜荣幸。
-
GIT和SVN的区别,
- 网上关于两者的区别和优缺点有很多,但是就我自己对两者的实际体验来说,GIT相较于SVN最大的特点就在于分布式系统。在分支管理的使用上,SVN在使用时,大家的使用流程基本都从服务器上checkout下一份服务器代码,然后修改代码,最后在提交代码前更新一遍,确保没有丢掉同事中途提交的代码,然后commit,写上log。这样的话整个开发项目只存在于一个服务器上面,每个人的修改提交容易造成其他人功能出问题。而GIT拥有自己的本地仓库和分支,只要在master的主分支进行merge时小心注意,在自己的分支和本地仓库里既能做到版本迭代管理,又有较大的自由度,虽然SVN也有分支管理,但是相较于GIT来说,效率和使用还是有很大的进步空间
-
GIT安装后的绑定和生成秘钥
-
本文主要讲Windows下的操作,linux下操作基本一致,细微改动即可。
-
在安装完成GIT客户端后,打开bash输入一下两条命令,相当于给正在使用的主机标识名,就想给新生的孩子取一个名字,因为名字有重复的,所以我们需要名字加邮箱确定,如同身份证加名字确定一个人一样。
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
-
如果我们的GIT本地仓库想和远程仓库进行推送拉取等操作,还需要利用_$ ssh-keygen -t rsa -C "youremail@example.com“_生成秘钥文件,一般在用户的.ssh文件夹中,将他绑定到远程GITHUB的秘钥上即可,相当于拿到远程仓库的使用许可证。
-
-
GIT本地仓库的使用
-
在一个目录下输入_git init_会将该目录改为git能够标识的仓库,此时目录称为工作区,同时会生成一个.git隐藏目录,该目录下包含了本地GIT的暂存区和版本库。
-
工作区
- 工作区就是我们在开发过程中存放的所有文件,在编辑好工作区文件后,假设我们新建了一个文件readme.txt,我们可以使用命令**git add readme.txt**讲文件添加到暂存区中。
-
暂存区
- 暂存区可以理解为工作区到版本库的缓冲区,因为我们可以一次性add多个文件到暂存区后,也可以将添加错误的文件从暂存区删除,在暂存区我们修改好后,可以使用命令**git commit -m “log”**提交文件,这里的-m “log”是一定要写的,做出记号说明你本次的提交,在后期维护和迭代非常有效
-
版本库
- 版本库就是我们最后的保存仓库了,版本库里面每一个版本都有都有你做的BUG修复或者功能增加,我们可以通过版本库进行代码的回溯和追寻。
-
在进行一整套的add和commit过程中,我们随时可以使用_git status_查看当前状态
-
-
GIT本地仓库的各种回退和定位
-
利用_git log或者git reflog_可以查看到版本库每次的提交信息和你执行的命令,可以根据该信息进行版本库的管理
-
版本库的回退
-
根据_git log_查看到的信息得到对应的版本号,在没有添加标签时,是一堆数字,使用时使用前几位就行。然后使用如下命令进行项目跳到任意版本
git reset --hard 版本号
-
-
暂存区的回退
-
暂存区的回退,利用下列命令将暂存区添加的文件撤销,返回工作区
git reset HRAD 文件名
-
-
工作区的回退和删除
-
工作区回退命令是_git checkout --filename_,工作区的回退分为两种情况:
- 一种是
file
自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态。 - 一种是
file
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
- 一种是
-
工作区删除,删除也是一种修改,分为两种情况,一种是确认删除,另一种是误删
-
确认删除,先将执行删除命令再提交。
git rm file git commit -m "remove file"
-
误删,误删利用上面的工作区回退即可。
-
-
-
-
GIT本地仓库和远程仓库连接
- 如果目录是空目录,没有进行_git init,可以利用git clone 项目地址进行第一次远程仓库拉取到本地仓库,然后每次提交到远程仓库使用git push origin master,每次从远程仓库拉取用git pull origin master_
- 如果是目录中以及存在本地仓库,利用_git push -u origin master将远程仓库和本地仓库进行关联起来,-u参数不但会把本地的
master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来。拉取照样用git pull origin master_。 - 注:orgin代表远程仓库名,master代表对应分支,具体信息可通过_git remote -v_查看。
-
小结:GIT基本操作主要包括文件在工作区,暂存区,版本库的添加提交,以及三个区域的回退和跳转,最后将完成好的项目实现本地仓库和远程仓库的传输。下篇我将整理出GIT操作的进阶笔记,主要包括分支管理,多人协作,标签使用。
-
参考资料:GIT教程 --廖雪峰