Git学习


在这里插入图片描述

1.Git

  • 免费开源的分布式版本控制系统,可以高效除了从小型项目到大型项目的各种项目
  • 优点:易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于Subversion(svn)、CVS、Perforce和ClearCase等版本控制工具

1.1版本控制

  • 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
  • 版本控制工具
    • 集中式版本控制工具
      • CVS、SVN(Subversion)、VSS……
      • 集中化的版本控制系统诸如 CVS、SVN等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。
      • 这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。
      • 事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。在这里插入图片描述
    • 分布式版本控制控制
      • 在这里插入图片描述
      • 意思就是每个人在自己的本地库里做版本控制
      • Git、Mercurial、Bazaar、Darcs……
      • 像Git这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。
      • 分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:
        • 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
        • 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)

1.2Git简史

在这里插入图片描述

1.3Git工作机制

在这里插入图片描述

  • 注意:
    • 工作区:指代码存放的磁盘区,文件所在的目录
    • 一旦变成历史版本,就不能修改了

1.4Git和代码托管中心

  • 代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。
  • 局域网
    • GitLab
  • 互联网
    • GitHub(外网)
    • Gitee码云(国内网站)

1.5Git安装

安装步骤

1.6常用命令

在这里插入图片描述

  • 设置用户签名

    • git config --global user.name 用户名
    • git config --global user.email 邮箱
    • eg:
      • $ git config --global user.name ping
      • $ git config --global user.email ping@qq.com
    • 验证:在C盘用户,git显示的用户下找到.gitconfig
    • 说明:
      • 签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git首次安装必须设置一下用户签名,否则无法提交代码。
      • 注意:这里设置用户签名和将来登录GitHub(或其他代码托管中心)的账号没有任何关系。
  • 初始化本地库

    • git init 初始化本地数据库
    • ll 查看信息
    • ll -a 查看隐藏信息
    • cd .git/ 切换到git文件夹查看是否初始化本地库
    • cd … 退出盘符
  • 查看本地库状态

    • git status
    • 首次查看(没有文件)在这里插入图片描述
    • 新增文件在这里插入图片描述
    • yy 复制
    • p 粘贴
    • :wq 退出编辑状态
    • cat 文件名 查看文件内容
    • tail -n l 文件名 文件内容中的最后一行在这里插入图片描述
  • 添加文件到暂存区

    • git add 文件名在这里插入图片描述
    • git rm --cached 文件名 只是把暂存区的文件删除了,工作区的依然存在在这里插入图片描述
  • 提交本地库

    • git commit -m 版本信息 文件名在这里插入图片描述
      • a89585c]这个位置出现的内容为版本号
    • git reflog 查看版本信息()前七位在这里插入图片描述
    • git log 查看完整版的信息在这里插入图片描述
  • 修改文件

    • i 点击后进行修改
    • 在这里插入图片描述
    • 修改后文件变化,需要追踪重新保存在这里插入图片描述在这里插入图片描述
      • git中按照行来维护 ,工作原理:将修改之前的删除,再添加上修改的内容
  • 版本穿梭

    • git reset --hard 版本号(前后穿梭都可以)在这里插入图片描述在这里插入图片描述
    • 工作原理:根据指针指向不同的版本,从不同版本中的日志查询

1.7 Git分支操作

在这里插入图片描述在这里插入图片描述

  • 好处在这里插入图片描述
  • 操作
    • 创建分支 : git branch 分支名 在这里插入图片描述

    • 查看分支 : git branch -v在这里插入图片描述

    • 切换分支 : git checkout 分支名在这里插入图片描述

    • 把指定的分支合并到当前分支上 : git merge 分支名在这里插入图片描述

    • 冲突合并

      • 在这里插入图片描述
      • eg:在这里插入图片描述
        在这里插入图片描述在这里插入图片描述在这里插入图片描述
      • 两个分支都进行了修改所以手动修改在这里插入图片描述修改为:

在这里插入图片描述

      • 添加到暂存区在这里插入图片描述
      • 提交,不用加文件名在这里插入图片描述

1.8 Git团队协作机制

  • 团队内协作在这里插入图片描述
    • 前提是第一个本地库给出权限,可以操作远程库
  • 跨团队协作 在这里插入图片描述

1.8 配置Git忽略文件

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 在这里插入图片描述
  • (1). 创建忽略文件
    • 格式: *.在这里插入图片描述
    • 方法:在这里插入图片描述在这里插入图片描述
    • 复制在这里插入图片描述
    • 在.gitconfig配置在这里插入图片描述
  • (2). 定位Git程序
    • 1.在IDEA中创建maven文件 在这里插入图片描述
    • 2.在这里插入图片描述
    • 3.更换为git安装目录
    • 4.点击test测试在这里插入图片描述
    • 5.在这里插入图片描述
    • git接管,pom文件变红,未加入暂存区在这里插入图片描述
      • 添加方法:
        • 1.在这里插入图片描述在这里插入图片描述

          • 变绿以后,说明未提交到本地库
      • 2.在这里插入图片描述在这里插入图片描述
      • 提交在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • (3) 切换版本在这里插入图片描述在这里插入图片描述
      • 绿色是代表所在版本信息,黄色是指针,指到哪里说明在哪个版本上在这里插入图片描述- (4)创建分支在这里插入图片描述
      • 创建方法:
        • 1.在这里插入图片描述
        • 2.在这里插入图片描述
      • 切换在这里插入图片描述
  • (5)合并分支在这里插入图片描述在这里插入图片描述
  • (6) 冲突合并
    • 分别对两个分支文件进行修改在这里插入图片描述
    • 合并在这里插入图片描述
      • 手动合并在这里插入图片描述在这里插入图片描述

2.GitHub

2.1创建库

在这里插入图片描述

  • 1.登录在这里插入图片描述
  • 2.点击 + ,new repository
  • 3.创建远程库,远程库与本地库的名字一样
    • 本地库(账号不同,就不会与别人的远程库名字相同)在这里插入图片描述在这里插入图片描述
    • 远程库操作命令
      • 创建在这里插入图片描述在这里插入图片描述在这里插入图片描述
      • 推送本地分支到远程仓库在这里插入图片描述在这里插入图片描述
      • 拉取在这里插入图片描述
      • 克隆(不需要登录账号)在这里插入图片描述在这里插入图片描述在这里插入图片描述

##2.2 团队内协作
- 在这里插入图片描述
- 注意:要切换账号账号后登录在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
- 在链接里复制邀请函
- 在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 跨团队协作
    • 在这里插入图片描述或者在这里插入图片描述在这里插入图片描述在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述在这里插入图片描述
    • SSH 免密登录
      • 在这里插入图片描述
      • 在C盘 -->用户–>账号下点击在这里插入图片描述
        在这里插入图片描述输入后点击三次回车在这里插入图片描述

复制公钥在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述成功在这里插入图片描述测试在这里插入图片描述在这里插入图片描述拉取在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.2IDEA集成GitHub

  • 1.在这里插入图片描述

  • 2.登录账号(使用token更加方便)在这里插入图片描述

  • 3.将项目传送到github远程库在这里插入图片描述或者在这里插入图片描述

  • 4.push推送本地库到远程库
    在这里插入图片描述在这里插入图片描述

    • 方法一:
      -在这里插入图片描述
    • 方法二:在这里插入图片描述
      • 在这里插入图片描述
      • 在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 5.pull拉取远程库到本地库

    • 在这里插入图片描述
    • 更新远程库
    • 拉取在这里插入图片描述
    • 在这里插入图片描述
  • 6.克隆远程库到本地

    • 在这里插入图片描述
    • 删除本地项目在这里插入图片描述
    • 点击在这里插入图片描述 - 链接在这里插入图片描述
    • 复制链接在这里插入图片描述

3.Gitee码云

在这里插入图片描述在这里插入图片描述

  • 删除在这里插入图片描述在这里插入图片描述
  • 创建远程库
    • 1.在这里插入图片描述
  • IDEA集成码云
    • 在这里插入图片描述
    • 1.登录在这里插入图片描述
    • 2.在这里插入图片描述
      • 或者在这里插入图片描述
    • pull/push/clone 大同小异
    • 码云复制github项目
      • 在这里插入图片描述
      • 如果github项目更新,Gitee如何同步内容在这里插入图片描述

4.GitLab

在这里插入图片描述

  • 1.服务器准备在这里插入图片描述

  • 2.虚拟机在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

    1. root用户登录在这里插入图片描述
    1. 修改ip地址在这里插入图片描述在这里插入图片描述
      • 修改主机名在这里插入图片描述在这里插入图片描述
      • rebot重启
  • 5.配置在这里插入图片描述在这里插入图片描述

  • 6.配置Xshell链接在这里插入图片描述在这里插入图片描述

  • 7.连接在这里插入图片描述在这里插入图片描述

  • 8.测试在这里插入图片描述

  • 9.安装包准备在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 10.使用脚本安装,复制以下内容在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 11.增加权限在这里插入图片描述在这里插入图片描述

  • 12.初始化Gitlab服务在这里插入图片描述在这里插入图片描述

  • 13.启动在这里插入图片描述在这里插入图片描述

  • 14.使用浏览器访问Gitlab

    • 1.在这里插入图片描述
    • 主机名访问在这里插入图片描述

在这里插入图片描述
改密码,root账号
在这里插入图片描述在这里插入图片描述

  • 创建远程库在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • IDER集成GitLab
    • 1.安装插件在这里插入图片描述

    • 2.复制地址在这里插入图片描述

    • 3.在这里插入图片描述

    • 4.在这里插入图片描述要更换为主机名在在这里插入图片描述

    • 5.在这里插入图片描述

    • 6.定义远程库链接在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值