gi的介绍和使用发放

1.git介绍

1.1 git能做什么

  • 作用:团队开发,==git是一个版本管理工具,用来管理代码的==,不是开发软件

  • 好处:快速、优雅、高效管理版本代码

1.2 主要作用(代码管理工具,管理代码版本)

  • 版本的概念

    (1)初指一种书籍经过多次传抄、刻印或以其他方式而形成的各种不同本子。随着时代的发展,版本也开始应用于影视、软件等事物上,形容事物相同但介绍方法等不同的两个事物。

    (2)软件版本编号制定是指为软件设置版本号码的方式。通常,版本号码会以数字订定。

    (3)软件名称后面经常有一些英文和数字,如:CTS3.3.5、QQ 2021 Beta,这些都是软件的版本标志,通过它,我们可以对软件的类型有所了解。

    各版本的时间轴演变,每一次版本的改变,都会有功能的改变

    v1.0.0 :内测

    v2.0.0 :用户

    v2.1.0 : 更新,修改了bug

  • 版本管理

    • 早期管理方式

      问题:传统管理方式造成了本地电脑上有很多相同的文件,不容易维护,造成了非常混乱的局面。

    • 版本控制软件

      • 常见的版本控制软件:git svn

      • 好处:使用版本控制以后,只需在本地保存一份,各个版本由版本控制软件来进行管理

2.git的简介

2.1 git定义

==Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。==

2.2 git特点

  • ==管理版本代码==

  • ==项目越大,越复杂,git优势越明显==

2.3 git三个区域

  • 工作区 ----写代码

  • 暂存区--功能完成了

  • 仓库区--页面完成了,功能完成了,代码提交到仓库

3.git的使用

3.1 下载安装

  • 下载网址

  • 安装

    • 双击软件---一直下一步(==不要有中文==)

    • 检查是否安装成功

      • 任意位置右击出现下图

  • 配置用户信息(安装git后配置一次即可,识别用户)

  • 任意位置右击--> Git Base Here

    git config --global user.name 用户名
    git config --global user.email 邮箱
    ​
    ​
    git config --global user.name txf
    git config --global user.email 375581141@qq.com
  • 查看是否配置成功

    1.通过命令查看:
        git config --list
    2.直接在文件夹中查看
      c盘-->用户-->admin -->.gitconfig
        
    [user]
        name = txf
        email = 375581141@qq.com

==3.2 步骤==

  • 初始化项目

    • 创建项目文件夹(创建一个)

    • 进入项目文件夹右击,---> Git Base Here

    • 执行命令:==git init==,当前文件夹会生成一个==.git==文件

    • ==注意:.git默认会变成隐藏文件==

  • 工作区--编写代码

    • 创建一个index.html文件,写一些代码

  • 把工作区的代码存储到暂存区

    git add 文件名
  • 把暂存区的内容添加到仓库

    git commit -m 提交信息

==3.3 git 命令==

  • ==init:初始化当前项目文件夹==

    git init
  • ==add:将文件添加到暂存区==

    git add 文件名
    git add .(提交这个项目文件中所有更新的文件)
  • ==commit:将暂存区的文件提交到仓库==

    git commit -m 提交信息(文字说明)
  • status:查看仓库文件状态

    git status
  • log : 打印版本信息

    git log : 以完整的形式输出
    git log --oneline : 以简短的形式显示
  • ==reset : 回退版本(新版本有问题,改需求)==

    git reset --hard 回退版本号
  • reflog:显示所有的版本操作

    git reflog : 以完整的形式输出
    git reflog --oneline : 以简短的形式显示
  • ==clear:清屏==

==3.4 文件忽略==

  • 对于不需要进行版本管理的文件,可以使用文件忽略(node_modules,一些公共库的代码)

  • 文件忽略步骤

    • 创建一个==.gitignore==文件 (一定要和.git文件同级)

    • 在忽略文件中配置忽略信息

      /js/ : 忽略整个文件夹
      /js/log.js  :忽略某个具体的文件
      *.txt : 忽略这类型的文件

3.5 分支

3.5.1 分支介绍
  • 介绍:

    git版本控制系统支持分支操作。使用分支意味着可以从开发主线上分离开来,然后在不影响主线的同时继续工作。默认只有一个分支为master主分支。

  • 什么是主分支?

    在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个master 分支叫做主分支

  • 主分支的问题:

    在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验和效率,建议每个开发者都基于分支进行项目功能的开发

  • 分支解决的问题:

    用来保存和记录整个项目已完成的功能代码。但是不允许程序员直接在master 分支上修改代码,这样做的风险太高,容易导致整个项目崩溃

    ==协议上规定:不应该在master主分支上维护代码 。应该在主分支的基础上,创建分支然后维护代码==

  • 补充说明:

    在分支上的提交操作和主分支的提交操作命令一样。

3.5.2 分支相关命令
  • branch:查看当前git管理的项目中有那些分支

    git branch

    ==注意:提交过一次以后才能看到主分支==

  • branch : 创建分支

    git branch 分支名
  • checkout:切换分支

    git checkout 分支名
    • ==注意:第一次切换到分支进行操作的时候,master主分支上的提交会复制一份到分支上==

  • merge:合并

    • ==注意:一般会回到主分支进行合并==

      git merge 分支
      git merge 分支1 分支2

3.5.3 冲突解决
  • 什么时候会冲突

    • 两个不同的分支,对同一个文件进行了修改,git无法判断合并

  • 手动解决(删除)

    • 两个都要,把错误提示删了,在master上重新提交一次

    • 只要一个,衡量删那份,在master上重新提交一次、

练习步骤:

1.创建项目,在主分支上提交一次,查看有多少分支

2.根据需求,创建两个分支xgk-登录 ln-注册、

3.查看有多少分支

4.切换到xgk分支,实现业务逻辑-登录 提交代码(看下初始代码都有啥)

5.切换到ln分支,实现业务路径-注册,提交代码(看下初始代码都有啥)

6.合并分支

7.切换到xgk 和 ln 分支,都操作一下index.html 文件

8.回到主线上合并

9.解决合并冲突

==4.远程仓库==

  • 介绍

    Git 命令都是在本地执行,如果想通过 Git 分享你的代码或者与其他开发人员合作。 就需要将文件放到一台其他开发人员能够连接的服务器上。这就是远程仓库的作用。

  • 远程仓库分类:

    • github:github是一个基于git的代码托管平台,在国外,速度比较慢,在大陆的使用很受影响

    • ==gitee:gitee是一个基于git的代码托管平台,在国内较多(码云)==

    • 公司自己部署:了解即可,不是前端人员部署的,使用步骤和命令都一样

4.1 操作流程

  • 注册账号 -- 绑定邮箱

  • 创建仓库(如果这个项目还没有启动,需要你从无到有)

  • 在本地创建项目文件 --完成提交操作

  • 提交到远程仓库 ==git push 远程仓库地址 master==

  • ==现在默认创建的仓库都是私有的,转成公有==

4.2 git 命令

  • ==clone:克隆(使用一次,项目第一次下载的时候用)==

    git clone 远程仓库地址
    ​
    git clone https://gitee.com/xintt09/xiaousc.git
  • ==pull:拉取(下载远程仓库中更新的文件)==

    git pull 远程仓库地址
  • ==push:提交(将本地的文件提交到远程仓库)==

    1.git push 远程仓库地址 master
    2.git push 别名 master
    ​
    ​
    git push -u 别名/远程仓库地址 master  -u以后,后面再往这个远程仓库提交,直接git push
    3.git push
  • remote : 起别名(给远程仓库起别名)

    git remote add 别名 远程仓库地址
  • remote -v : 查看本地仓库别名是否跟远程仓库进行了关联

    git remote -v

4.3 新员工进公司操作流程

  • 进公司--领电脑--装软件 git,配置用户信息

  • 下载公司项目代码 (git clone)

  • 写代码,改代码(git add ,commit)

  • 下班了/功能完成了,将代码提交到远程仓库 git push

  • 第二天上班:git pull 更新最新代码

  • 。。。

5.ssh访问

  • 简介:传统方式访问远程仓库的问题:传统方式本地和远程传输,需重复输入gitee的账号和密码,较为繁琐。

  • SSH好处:免登录身份认证、数据加密传输。而SSH实现本地仓库和gitee之间免登录的加密数据传输。更重要的原因是团队协同开发更加方便。

  • SSH组成: (1)id_rsa 私钥文件,存放于开发者的电脑中 (2)id_rsa.pub 公钥文件 。

  • 生成密钥步骤:1、打开Git Bash 2、执行相关命令 3、连续敲击3 次回车

相关命令

ssh-keygen

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
​
ssh-keygen -t rsa -b 4096 -C "1583222344@qq.com"

  • 查看生成的密钥

  • 将公钥添加到远程仓库中

  • 后期使用远程仓库地址就可以使用ssh地址,不需要再输入账号和密码

6.git 和 svn的区别

SVN:SVN是一个开放源代码的集中式版本控制系统,用于多个人共同开发同一个项目,实现共享资源。集中式版本控制系统:版本库是集中存放在中央服务器,开发者需要先从中央服务器获取最新的版本文件,然后开始干活,最后再把自己修改的文件推送到中央服务器。

Git:Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。分布式版本控制系统:没有“中央服务器”,每个人的电脑上都是一个完整的版本库,联网开发不是必须的。但两两开发者之间肯定不会以qq或U盘形式传送,也有一台充当“中央服务器”的电脑(gitee和github)。此服务器的作用仅是用来方便“交换”各开发之间的修改。

  • svn:==集中式的管理系统==,完整的版本只存在中央处理中,==本地电脑是没有完整版本==,每一次都需要先下载,必须==有网才能开发==,一般内网访问

  • git:==分布式管理系统,每个开发人员电脑都有一个完整版本===,没有网也也能开发,仅用来方便交换各开发直接的修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值