1.简介:
git·版本控制是一种在开发过程中用于管理我们对文件、目录、工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
简单的来说就是用于管理多人协同开发项目的技术
主流的版本控制器:
1.Git(使用最多) 2 .SVN 3.CVS······
2.版本控制分类
·本地版本控制(Rcs)
记录每次文件的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人使用。
·集中版本控制(SVN)
所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改
·分布式版本控制(Git)
(每个人都拥有全部的代码,具有安全隐患!)
所有的版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在联网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,所以说只要有一个用户的设备没有问题就可以恢复所有的数据,但是这也增加了本地存储空间的占用。
【不会因为网络或者是服务器损坏的问题,而造成数据丢失】
@·git与svn的主要区别:
2.安装Git以及环境配置
·Git有3个菜单项:
Git bash:UNIX与LINUX的命令行,使用最多(推荐)
Git cmd:Windows风格的命令行
Git Gui: Git的图形界面,不建议初学者使用。
3.Git的必要配置(所有的配置文件都保存在本地)
·查看配置 git config -l
当你安装Git后首先要做的事情就是,设置你的用户名称和e-mail地址,这是非常必要的,因为每次提交Git都会使用到该信息,他被永远的嵌入到了你的提交中。
——设置用户名与邮箱(用户标识)
git config --global user.name "lee"
git config --global user.email "1456543765@qq.com"
4.Git的基本理论(核心)
·工作区域
1.WorkSpace:工作区,就是你平时存放代码的地方
2.index/Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件的列表信息
3.Repository:仓库区(或者说本地仓库),就是安全存放数据的位置,其中HEAD指向最新放入仓库的版本
4.Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑,用于远程数据交换。
·工作流程
1.在工作目录中添加、修改文件;【git add files】
2.将需要进行版本管理的文件放入暂存区域;【git commit】
3.将暂存区域的文件提交到Git仓库;【git push】
So,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(commited)
5.使用Git克隆远程仓库
命令:
Git clone [url] (克隆一个项目和他的版本信息)
6.Git的基本操作命令
#查看文件状态:
上面说文件有4种状态:通过如下命令可以看到文件的状态:
1.查看指定文件状态:
Git status [filename]
2.查看所有文件状态:
Git status
#忽略文件
有些时候我们并不想把某些文件纳入版本控制当中,比如数据库文件,临时文件,设计文件等。
这时候可以在主目录文件下建立".gitignore"文件,此文件有如下规则:
#为注释
eg:
*.txt: #忽略所有以.txt结尾的文件,这样的话上传就不会被选中!
!lib.txt: #但是lib.txt除外
/temp: #仅忽略项目根目录下的TODO文件,不包括其他目录temp
build/: #忽略build目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但是不包括doc/server/arch.txt
#在本地创建ssh公钥,实现Gitee的免密登录
ssh-keygen -t rsa
然后添加到Gitee上面
7.Git分支
---- 一般来说,master为主分支,dev为开发分支,Vx.0代表第几代版本
git分支中常用命令:
1.git branch #列出本地所有分支
2.git branch -r #列出所有远程分支
3.git branch [branch-name] #创建一个新的分支,但是依然停留在当前分支
4.git merge [branch] #和并指定分支到当前分支
5.git branch -d [branch-name] #删除分支
6.git push origin --delete [branch-name]
git branch -dr [remote/branch] #删除远程分支