git

今日内容

  • 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工作流

  •  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值