今日内容
-
git客户端
-
git可视化管理工具
git
概念:分布式版本控制软件
-
版本控制:
-
概念:Reversion Control,是一种在开发过程中用于管理我们对文件、目录等内容的修改,方便查找文件或者目录的历史记录,带来的好处是可以方便做数据的恢复。
例如: 论文初稿 --->论文修订版---->论文完整版----->v1---->v2---->最终版--->最最最终版----->打死不改版---->遗书版 文件的复制粘贴实现的
-
演变的过程:
-
本地版本控制软件(仓库)
在你的本地中只会存在一个文件,代表的软件就是RCS
不能协同开发,只能单个人员操作
-
集中式版本控制软件
可以实现多人协同开发,但是有点小问题:如果中央控制器宕机了,断电了,网络中断了,无法进行后续开发。代表性的是SVN
-
分布式版本控制软件
-
每个人都有全部的代码
-
每个人都有版本历史记录
-
在共享版本库宕机或者网络中断的情况下,依然不影响各自的开发。
-
当网络和共享版本库服务器恢复后,再把各自修改的内容推送到共享版本库中即可。
-
服务器存储压力较大,造成一定的空间浪费。
-
-
Git就是分布式版本控制软件,没有中央控制器(中央仓库),每个人的电脑都是一个完整的版本库。
-
-
-
分布式
有一个共享的资源库(百度云,U盘),每一个开发者都可以从共享版本库中pull最新的代码,也可以push自己的代码到共享资源库中。版本记录不但在共享资源库中存在,在每一个开发者中也都有。
-
svn和git的区别
-
SVN是集中式版本控制软件。版本库存储在中央仓库中。在实际开发中,每个开发者首先需要从中央仓库拉取最新的代码到本地中,此时拉取的下来的只有最新的版本信息。开发者完成功能后,再把开发的功能代码push到中央仓库中。集中式版本控制软件使用环境必须联网。对网络带宽要求较高。
-
git是分布式版本控制软件。没有中央控制器。每一个人的电脑都是一个版本库服务器,每一个人的电脑都有完整的版本历史信息。工作的时候不需要联网。把各自修改的代码推送给你对方即可。
-
git历史
1991~2002 3年 2005 免费改为收费。不用了 自己研发 2周 BitKeeper类似的产品 git(饭桶) Larry
免费、开源,在10年后,BitKeeper软件免费开源了。
Linux Torvalds 是Linux和git之父 芬兰人 1969年
James Gosling 是Java之父 加拿大人 1955年
git使用
-
下载
官网下载:https://git-scm.com/download/win
国内的阿里的镜像地址:https://npm.taobao.org/mirrors
-
安装 无脑安装 即启动
无脑下一步,只用修改下安装目录即可。安装目录:D:\Developer\Git
-
启动git
-
查看git是否安装成功 鼠标右键 查看是否有 Git Gui/Git Bash
-
Git CMD windows风格的git指令窗口
-
Git GUI 带有图形界面的Git
-
Git Bash linux/Unix风格的git指令窗口
-
-
常用的linux指令
-
cd 切换目录
-
cd.. 退回上一级目录
-
pwd 显示当前所有的目录路径
-
ls(ll) 展示当前目录下的所有文件和文件夹
-
touch 编辑文件,如果文件不存在直接新建一个文件
-
vim 编辑文件 类似于windows中的notepad++
有三种模式:
-
正常模式 只能看不能修改 输入冒号":"进行指令模式
在正常模式中进入到编辑模式中 输入" a 、i、 o"
-
指令模式 w 保存 q 退出 wq 保存退出 q! 不保存退出----> 退出vim指令
-
编辑模式 任意的修改文件内容 按下键盘esc按键 退出编辑模式进行到正常模式
-
-
cat 查看文件内容
-
more 查看文件内容
-
rm 删除文件
-
mkdir 新建目录
-
rm -r 直接删除目录
-
rm -rf / 删除系统所有的文件 【一般不用】
-
mv 移动文件到指定目录(同目录下移动)
-
clear 清屏
-
exit 退出
-
history 指令历史操作
-
-
查看是否安装成功
git --version
-
git配置
配置个人信息 用户名、邮箱【一次即可】 告诉仓库你是谁
全局配置
git config --global user.name '用户名'
git config --global user.email '邮箱'
-
git基本理论
-
四个区域
-
工作区:Workspace
-
暂存区:Index/Stage
-
本地版本库:Repository
-
远程仓库 Remote Repository
-
-
git管理到的目录
-
Directory:使用git管理的一个目录
-
Workspace: 工作空间
-
.git : 存放的是git管理的目录信息,初始化仓库的时候自动创建
-
Index/Stage :暂存区 准备提交到版本库的缓存区
-
Local Repository : 本地版本库 一个存放本地文件的版本库 HEAD执行当前的开发分支(版本)
-
Stash:隐藏,是一个工作状态保存栈。
-
-
-
-
本地仓库的创建
第一种方式就是直接在本地创建
git init 生成仓库
第二种方式:从远程仓库中克隆一个
git clone 远程仓库地址
-
git指令操作
git status 查看当前仓库下文件的状态信息
文件的状态:有四种状态:
-
未被追踪 git add .
-
文件已经入库,未修改
-
文件已经修改 git add . 把已经修改的文件提交到暂存区中
-
staged 暂存状态 git commit -m '描述信息‘ 提交到版本库中
-
-
开源许可证
是一种法律许可,通过它,版权拥有着可以明确确定或者许可,用户可以免费的使用、共享、修改版权软件
版权法一般禁止共享。没有许可证的软件,是不允许开源的。
开源许可证,一般分成两大类:
-
宽松式: 几乎没限制。用户必须披露原始作者
-
CopyLeft Copyright 版权
-
-
免密登录
生成公钥和密钥
ssh-keygen -t rsa
在当前系统用户目录下 目录名 .ssh
密钥文件 id_rsa
公钥文件 id_rsa.pub
-
配置免密登录
-
代码合并冲突
手动解决,把有冲突的地方手动修改保存。
-
分支合并
git merge 分支名称
注意:合并之前,需要先切换分支
master要合并dev分支
①先切换到master分支上 git checkout master
②合并dev分支 git merge dev 把dev上的代码合并到master分支上
③遇到代码冲突,手动解决代码冲突问题。
-
删除分支
git branch -d 分支名称
-
git工作流
-
-
-
-
-
-
-