版本控制:版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
- 本地版本控制系统
相当于一个软件,记录文件的变更,位于本地 - 集中式版本控制系统(SVN)
有一个中心服务器,中心节点,每个工作者连接到服务器,从中心获得文件,上传,下载,修改,若中心服务器文件没了,全都没了,还需要网络支持 - 分布式版本控制系统(Git)
每个人都有个仓库,同时有一个远程服务器存储
Git优势
- 速度
- 简单的设计
- 允许上千个并行分支
- 分布式
重要概念(文件状态)
已提交(committed):只有保存到本地了,完成了这个状态,才可以提交到远程服务器
起步:初次使用需要设置姓名和邮箱
--global:表示设置了以后,以后所有的项目都可以使用
克隆项目
添加文件并提交
举例中,添加了a.md,相当于对项目做了修改,“untracked files":文件还未提交到暂存区
git status
:查看文件状态
git add .
:将新增的删除 修改等文件全部放入暂存区
git commit -am "x"
:双引号中的内容是用于备注,git commit -a
是将暂存区的更新放到本地库中
git push
:将本地仓库推送到远程仓库,第一次使用需要输入git push origin master
(为什么)
模拟多人合作
其他人在项目中进行了修改,推送到远程服务器,但你并不知道,你继续在本地修改文件,然后无法推送,因为你本地没有远程的更新,需要执行git pull
,将远程更新与本地合并,执行合并后会进入vim编辑器,可添加信息,保存退出,之后可以推送
修改删除文件
修改后,直接
git commit -a
提交到暂存区,会进入vim编辑器,也是要你添加备注信息总之,更新项目前,使用git pull
更新本地文件,推送前,使用git add .
提交到暂存区,git commit -am "X"
提交文件到本地仓库
提问
- git clone url和git pull有什么区别?
- 本地仓库和远程仓库的区别?
- origin代表什么?