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 git
yum install -y git
sudo apt-get install git
git --version
..........
......
安装完后
Git --基础设置
1、设置用户名
git config --global user.name "IterCast"
2、设置用户邮箱
git config --global user.email "[email protected]"
3、查看设置
git config --list
Git命令帮助
git help
git help 特定命令
比如:git help add
如何初始化一个新的Git仓库
1、创建一个文件夹(或使用已有文件夹)
mkdir xxoo
2、在文件夹内初始化Git,创建Git仓库
cd xxoo
git init
ls -a
cd .git
ls
.....
....
向仓库添加新的文件:
如:
touch README
vim hellogit.rb
puts "hello git"
ls
git status
git add README
git add hellogit.rb
git status
git commit -m "init repo"
git status
git log
直接提交到仓库(“不暂存”,即让git自动完成暂存)
git commit -a -m "modify hellogit"
如
vim README
"this is a girl"
ls
git status
git commit -a -m "modify hellogit"
git status
删除文件
1、删除文件
rm README
2、从Git中删除文件(但文件依然被记录在Git仓库历史记录中,即只删除当前版本文件)
git rm README
3、提交操作
git commit -m "delete README"
重命名文件
git mv hellogit.rb helloworld.rb
git commit -m "rename hellogit.rb file"
Git远程仓库(就是保存在服务器上的Git仓库文件)
通过网络通过访问协议访问远程仓库
访问协议有:
local
SSH
Git
HTTP/HTTPS
1、使用现有的Git网络仓库服务
代码托管服务:
github(比如提交自己的作品到这里,去公司面试时,就说在这仓库里,有我的作品,呵呵!!)
bitbucket
2、搭建自己的Git仓库服务器
版本控制系统git