Git简介和安装&&操作入门&&IDEA集成Git

Git简介和安装

定义:
是一个开源的分布式版本控制中心
功能:
1.代码备份
       解决场景:代码编写,会遇到各种突发情况如蓝屏等,需要备份,不仅需要备份到本地,还需要备份到云端
2.版本控制
        解决场景:代码编写,会遇到对内容反复修改的情况,导致有多个版本存在
3.协同开发
         用于明确提交的代码时间和提交代码的人员   
4.代码追溯(责任追溯)   
        场景:将代码回溯到某一个阶段,或者某一版本   
使用场景:
团队协同开发项目
Git和SVN对比
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器
    服务器单点故障 将会导致所有人员无法工作。
    而服务器硬盘损坏,这意味着,你可能失去了该项目的所有历史记录,这是毁灭性的
Git是在2005年,Linux系统的创建者Linus Torvalds
为了帮助全球的开发者,维护Linux系统内核的开发
而开发了自己的开源分布式版本控制工具
分为两种类型的仓库:本地仓库和远程仓库
   
    每一个客户端都保存了完整的历史记录
    服务器的故障,都可以通过客户端的记录得以恢复
Git下载安装
官网下载 :https://git-scm.com/downloads
安装
1:双击安装包,进入安装向导界面
2:指定安装目录
3:一路next下一步
4:等待安装
5:完成
检查是否安装完成
安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到如下两个菜单则说明Git安装成功。
Git GUI:Git提供的图形界面工具
Git Bash:Git提供的命令行工具  

 运行Git命令客户端,使用git --version 命令,可以查看git版本 

在这里插入图片描述

TortoiseGit安装
1. 双击安装包,进入安装向导界面
2. 一路next下一步
3. 指定安装目录
4. 安装
5. 配置
检查是否安装成功

在这里插入图片描述

安装中文语言包

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

Git操作入门

Git基本工作流程原理

在这里插入图片描述

Git常用命令
命令作用
git init初始化,创建 git 仓库
git status查看 git 状态 (文件是否进行了添加、提交操作)
git add将指定文件添加到暂存区
git add .将当前文件下的所有文件添加到暂存区
git commit提交,将暂存区文件提交到历史仓库
git commit –m ‘提交时, 携带的描述信息’提交 附带描述信息
git log查看日志( git 提交的历史日志)
命令:添加
$ add 文件名  添加某一个文件
$ add . 添加当前文件下的所有文件    
分本地仓库和远程仓库 以提高代码安全,即一方由于各种原因不能使用或者损坏,都不影响开发,并能依赖完整的一方进行恢复
Git工作流程
工作目录-->Git命令==>暂存区-->Git命令==>本地历史仓库
    
 本地仓库 <=   暂存区(提交或下载)  =>  远程  
  
## 基本步骤
1. 创建工作目录、初始化本地 git 仓库
2. 新建一个 test.txt 文件(暂不执行添加操作)
3. 使用 status 命令,查看状态
4. 使用 add 命令添加,并查看状态
5. 使用 commit 命令,提交到本地历史仓库
6. 使用 log 命令,查看日志
7. 修改 test.txt 文件
8. 添加并提交,查看日志

Git版本管理

历史版本切换
准备动作
1.查看 my_project 的 log 日志
     git reflog :可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录的操作)
    //简化并显示版本唯一索引值的前7位
    增加一次新的修改记录
    
2. 将代码切换到,第二次修改的版本   
    指令:git reset --hard 版本唯一索引值
版本的回滚
git reset --hard 分支id 回滚到指定的版本
    
 git reset --hard^  回滚到上一个版本
  
git reset --hard~2 回滚2个版本    
分支管理

在这里插入图片描述

创建和切换分支
创建命令: git branch 分支名
    查看分支列表 git branch
切换命令:git checkout 分支名
    查看文件命令:ls

    
合并删除分支
合并命令:git merge 分支名2
    //在当前分支下合并分支名2
    
删除分支:git branch -d 分支名
    //在当前分支下 删除另一分支

远程仓库

远程仓库工作流程

在这里插入图片描述

在这里插入图片描述

put : 推送到远程仓库
clone:第一次拉取 全部复制
 pull:非第一次拉取  更新远程仓库中的内容到本地仓库  
连接远程仓库的两种方式
  • 用户名和密码连接:每一次和远程继续通信都需要输入用户和密码,http协议的地址

  • ssh免密登录:在双方服务器上配置私钥和公钥,之后双方通信分别使用私钥或公钥进行数据加密,保障数据传输的安全性,因此无需每次都进行用户密码的验证,ssh协议的地址

ssh免密登录

操作情况1:先有本地项目,远程为空
  • 第一步

    在git@gitee 创建公开的仓库
    
  • 第二步:设置本地默认远程仓库信息

     命令:cd ~/.ssh
      1.   查看是否过SSH公钥
      2.   查看生成的私钥和公钥位置 
         
    # 查看用户名用户 和邮箱
         git config user.name
         git config user.email
       
      设置全局账户名和邮箱
         --global 表示这台机的所有Git仓库都会使用这个配置
    # 设置用户
    git config --gloabl user.name 'miukoo'  //相当于设置别名   
    # 设置邮箱
    git config --gloabl user.email 'miukoo@qq.com' //相当于设置别名    
    
  • 第三步:生成ssh公钥步骤

    # 生成命令:
    ssh-keygen –t rsa –C “邮箱” //前面设置的全局邮箱
        //注意 这里需要敲三次回车
    # 查看命令:
    cat ~/.ssh/id-rsa.pub
        //如果失败则是电脑生成的文件名不同导致无法找到
        //可以尝试命令 cat ~/.ssh/id_rsa.pub
        
    
  • 第四步:在远程仓库配置ssh公钥

    将上述查询到秘钥复制到远程仓库 完成配置
        
    
  • 图片配置ssh公钥
  • 第五步:公钥测试

    # 测试连接命令:
    ssh -T git@gitee.com
        后续选择 yes
        
        出现successful就成功了
        再在远程仓库查看
    
  • 图片公钥测试
  • 第六步:推送到远程仓库

    命令:
    git remote add 远程名称 远程仓库URL
     //为远程仓库的URL(网址),自定义仓库名称  
        
      // 推送 
     git push -u 仓库名称 分支名   
    
情况2:先有远程仓库,本地为空
    1. 将远程仓库的代码,克隆到本地仓库

      # 克隆命令: git clone 仓库地址
          //相当于第一次拉取 全部复制
          //远程仓库上的仓库地址
      
    2. 创建新文件,添加并提交到本地仓库

    3. 推送至远程仓库

    4. 项目拉取更新

      # 拉取命令:
          git pull 远程仓库名 分支名
          //非第一次拉取,更新远程仓库中的内容到本地仓库
      
代码冲突
  • 原因

    修改之前未执行拉取名 即pull ,修改不是在最新的版本基础上进行修改
        导致部分内容(除去新增部分)不同 导致冲突
        举个例子:
    甲 pull 了最新1.0版本的x文件,在文件里做了A的内容更新,并推送到远程仓库做了更新即1.1版本
    乙 之前拉取了最新1.0版本的x文件,修改之前,并未拉取更新到1.1版本的x文件,对文件做了B的内容修改,推送到远程仓库时 更新的内容占位相同导致冲突
      就像盖高楼,必须一层层往上盖,必须是在当前层的前提下修上一层,
     即修建了2,就只能在2楼基础上修建3,而不能跳过3,去修4楼或5,也不能在已经有3楼的情况下,再在2楼修建3
  • 冲突解决

    修改内容,并重新添加和提交和推送
    1.修改冲突行,保存,即可解决冲突。
    2.重新add冲突文件并commit到本地仓库,重新push到远程  
    

IDEA集成Git

创建一个简单的工程
在这里插入图片描述

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

本地仓库 基础操作

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

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

本地仓库 分支管理

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

在这里插入图片描述

本地推送到远程

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值