什么是版本控制
学习Git之前首先要了解一个概念——版本控制,什么是版本控制,版本控制就是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
在没有版本控制之前,软件开发的过程中会出现诸多问题,如软件内容冗余,软件开发资源不易整合等问题。
Git所实现的功能
而版本控制系统可以实现跨区域多人协同开发,追踪和记载一个或者多个文件的历史记录,组织和保护源代码文档,统计工作量,并行开发,跟踪记录整个软件的开发过程,减轻开发人员的负担,节省时间,同时降低人为错误。简单的说Git就是管理多人协同开发项目的技术。Git是现在主流的版本控制系统,还有很多其他的版本控制系统,这里就不多做解释。
Git下载安装
官网地址:https://git-scm.com/
淘宝镜像:http://npm.taobao.org/mirrors/git-for-windows/
找到对应操作系统的版本进行下载,安装时一路下一步即可
安装成功后在桌面任意位置点击鼠标右键,快捷菜单会出现Git Bash Here(如下图)
下图就是Git的操作界面
Git的基本理论
在正式学习Git之前一定要了解Git是怎么工作的,也就是Git内部是怎么工作的,基本理论了解清楚后,对Git的操作也会轻松很多
Git的三个区域
- 工作目录(Working Directory):Workspace:工作区,就是平时存放项目代码的地方
- 暂存区(Stage/Index):Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。
- 资源库(Repository或Git Directory):Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
- 如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域
Git的工作流程
-
在工作目录中添加、修改文件
-
将需要进行版本管理的文件放入暂存区域
-
将暂存区域的文件提交到git仓库
所以,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
Git的常用命令行
- git add : 将工作区的修改提交到暂存区
- git commit :将暂存区的修改提交到当前分支
- git reset :回退到某一个版本
- git stash: 保存某次修改
- git pull :从远程更新代码
- git push:将本地代码更新到远程分支上
- git reflog : 查看历史命令
- git status :查看当前仓库的状态
- git diff :查看修改
- git log: 查看提交历史
- git revert : 回退某个修改
Git分支
- 什么是Git分支
顾名思义,分支就是从主线上分离出来进行另外的操作,而又不影响主线,主线又可以继续干它的事,最后分支做完事后合并到主线上而分支的任务完成可以删掉了。这样就很方便,主线继续做它的事,分支用来解决临时需求,二者互不相干。
- Git分支的常用命令
- 列出所有本地分支 git branch
- 列出所有远程分支 git branch -r
- 新建一个分支,但依然停留在当前分支 git branch [branch-name]
- 新建一个分支,并切换到该分支 git checkout -b [branch]
- 合并指定分支到当前分支 git merge [branch]
- 删除分支 git branch -d [branch-name]
- 删除远程分支 git push origin --delete [branch-name]$ git branch -dr [remote/branch]