6月30日学习笔记:
版本控制系统git:
1、应用:
记录文件的所有历史变化随时可恢复到任何一个历史状态多人协作开发或修该错误恢复多功能并行开发2、分类:
本地版本控制系统集中化版本控制系统分布式版本控制系统3、基本概念:
repository -- 存放所有文件及其历史信息checkout -- 取出或切换到指定版本的文件version -- 记录标识一个版本(编号或其他代码)tag -- 记录标识一个主要版本(1.0 2.0 3.0) 本地版本控制系统(LVCS)如:RCS(在很多Linux里都有)优点:简单,很多系统中都内置适合管理本地文件(如配置文件、文章、信件、简单的文档等等)缺点:适合管理少量文件、不支持基于项目的管理支持的文件类型较少单一不支持网络、无法实现多人协作 集中式版本控制系统(CVCS)CVS优点:适合多人团队协作开发代码集中化管理缺点:单点故障(能支持集群或备份吗?)必须联网工作,无法单机本地工作 分布式版本控制系统(DVCS)如Git优点:适合多人团队协作开发代码集中式管理可以离线工作每个计算机都是一个完整仓库 Git原理 - 快照。而非保存区别(即打补丁)- 文件的鉴别和操作(通过校验和算法识别文件变化,多数操作均为添加数据,即使误删除,通过以前版本找回!!)
- 文件状态及工作区域(在工作目录下编辑、修改-->在暂存区暂存已经修改的文件-->最终确定的文件保存到仓库成为一个新的版本、并且对他人可见 )
git add hellogit.rb
如何在不同的操作系统下安装Git(git-scm.com)
LINUX:yum list | grep gityum install -y gitsudo apt-get install gitgit --version
................ 安装完后Git --基础设置1、设置用户名git config --global user.name "IterCast"2、设置用户邮箱git config --global user.email "demo@itercast.com"3、查看设置git config --listGit命令帮助
git helpgit help 特定命令比如:git help add如何初始化一个新的Git仓库
1、创建一个文件夹(或使用已有文件夹)mkdir xxoo2、在文件夹内初始化Git,创建Git仓库cd xxoogit initls -a
cd .git
ls
.....
.... 向仓库添加新的文件:如:touch READMEvim hellogit.rbputs "hello git"lsgit statusgit add README
git add hellogit.rbgit statusgit commit -m "init repo"
git statusgit log
直接提交到仓库(“不暂存”,即让git自动完成暂存)git commit -a -m "modify hellogit"如vim README"this is a girl"lsgit statusgit commit -a -m "modify hellogit"git status删除文件
1、删除文件rm README2、从Git中删除文件(但文件依然被记录在Git仓库历史记录中,即只删除当前版本文件)git rm README3、提交操作git commit -m "delete README" 重命名文件git mv hellogit.rb helloworld.rbgit commit -m "rename hellogit.rb file" Git远程仓库(就是保存在服务器上的Git仓库文件)通过网络通过访问协议访问远程仓库访问协议有:
localSSHGitHTTP/HTTPS1、使用现有的Git网络仓库服务
代码托管服务:github(比如提交自己的作品到这里,去公司面试时,就说在这仓库里,有我的作品,呵呵!!)bitbucket2、搭建自己的Git仓库服务器