GIT
1.gitHub:一个提供代码管理(托管)的公共平台,我们以及众多开发者,会把自己生产的组件/类库/插件/框架 等托管到这个平台中,供别人下载使用和研究
2.在gitHub中,我们可以创建仓库来管理自己的项目文件,而gitHub支持开发者通过git操作,把本地的项目代码推送到指定的仓库中,它还提供静态web页面的发布等
3.在国内有一个和gitHub类似的网站:coding,和gitHub类似,也是提供代码管理的平台
四、
- git是一个分布式代码版本管理控制系统:记录当前产品代码的所有版本信息(历史修改信息),而且方便快速回退到某一个具体的版本
- 方便团队协作开发,能够检测代码冲突,能够合并代码等
svn:在git诞生前就已经存在的版本控制系统,不过他是集中式管理
git:是分布式版本管理系统
集中式版本控制系统:每个人都需要推送到服务器上才能生成一个历史版本
分布式版本控制系统:每个人的电脑都可以生成自己的历史版本,有自己的本地仓
库
传输方式上git比svn要快
Git的安装
一路下一步,只需要在下面这一步的时候注意一些,看自己情况选择哪个,最好用第三个:
git的工作原理和基础操作
工作区=》暂存区=》历史区
一、
- 在本地创建git仓库
《1》初次使用git,先在本地配置一些基本信息:
[1]git config -l:查看git配置
[2]git config --global user.name xxx:修改用户名
[3]git config --global user.email xxx:修改邮箱
注意用户名和邮箱最好和gitHub保持一致,这样以后从本地想gitHub推送的时候,能显示是谁推送的
《2》[1]git init: 想在哪个磁盘或者文件下创建仓库就再哪个下main打开dos窗口,然后执行git init,然后这个文件中就会多出来一个.git的隐藏文件夹(隐藏文件需要设置一下才能显示)
[2]touch .gitignore咋当前文件夹下创建一个名字为 .gitignore 的文件,这个文件存储了当git提交的时候所忽略的文件.(注意这条命令只支持linux,所以安装git的时候最好集成unix的dos,如果没有集成unix的dos就必须在git bash中执行这条命令)
一般ignore文件里就是提交的时候不提交的文件比如.idea
- 当我们在本地创建完git仓库以后,我们可以基于这个仓库管理我们的代码
每一个git仓库都划分为三个区域:
工作区:编辑代码的地方
暂存区:临时存储要生成版本代码的地方
历史区:存储的是生成的每一个版本代码
- git status 查看状态,红色代表当前文件处在工作区还没提交到暂存区,绿色代表当前文件处于暂存区还没有提交到历史区,如果没有文件,代表三个区域代码已经同步,历史版本也在历史区生成了
- 工作区提交到暂存区:工作区提交到暂存区,暂存区提交到历史区,暂存区始终存放提交的内容,并没有消失,以后工作区内容修改,会和暂存区作对比,以此来判断哪些是新处理的)
提交某个文件:git add 文件,如:git add 1.js。
或者提交所有:git add .的,包含修改和增加的,但是不包含删除的
git add -u包含修改和删除的,但是不包含新增的。
git add -A同时具备.和-u的特性
- 暂存区提交到历史区:git commit -m ‘备注’
- git log可以查看提交的版本信息(日志记录)
- git diff查看工作区和暂存区的区别:假如在工作区的代码新增加了一行代码,输入这条命令就可以看到
git diff master查看工作区和历史区的区别( master分支)
git diff --cached查看暂存区和历史区的区别
- 本地仓库和远程仓库建立关联
git remote -v:查看所有的关联信息
git remote add 名字 xxx:和xxx远程仓库建立关联,记得起一个名字,一般都是起名字叫origin
git remote remove xxx:和xxx远程仓库移除关联
- 把本地的信息推送到远程仓库上,或者从远程仓库上拉取最新信息到本地仓库(我们本地推送和拉取的信息,既有代码也有版本信息,所以与其说是推送和拉取,不如说是和远程仓库保持信息的同步)
在推送之前,我们都应该先拉取:
git pull origin(这个名字就是和远程仓库关联的这个名字)master:从远程仓库的master分支拉取最新的信息
git push origin master:把自己本地信息推送到远程仓库的master分支下,如果名字是origin,分支走的也是master分支
- 上面那种方法比较麻烦,可以直接克隆项目下来比较简单
git clone 远程仓库地址 文件夹名字(文件夹名字如果不设置,默认是仓库名)
git add .
git commit -m’备注’
git pull
git push