Git:版本控制软件总结

一、Gir介绍

1.简介

  1. Git是目前市场上最牛的版本控制软件。(没有之一)

  2. Git是一个开源免费的分布式版本控制系统。旨在快速高效地处理从小型项目到大型项目的所有内容。

  3. Git 不仅仅是版本控制系统,同时它也是内容管理系统(CMS),工作管理系统等。

  4. Git起初是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。所以Git和Linux命令完全兼容。

  5. Git是分布式的。可以通过Git从服务器上把完整的Git仓库克隆到本地。所以Git的很多操作都是本地的。

2.优点

1 协同修改
  • 多人并行不悖的修改服务器端的同一个文件。

3.2 数据备份
  • 不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。

3.3 版本管理
  • 在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。这方面 SVN 采用的是增量式管理的方式,而 Git 采取了文件系统快照的方式。

3.4 权限控制
  • 对团队中参与开发的人员进行权限控制。

  • 对团队外开发者贡献的代码进行审核——Git 独有。

3.5 历史记录
  • 查看修改人、修改时间、修改内容、日志信息。

  • 将本地文件恢复到某一个历史状态。

  • 分支管理。

  • 许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。

3.Git工作流程

代码工作区 ---> 执行git add ---> 暂存区(临时存储)---> 执行git commit ---> 本地库(历史版本) 

工作区、暂存区和本地仓库,逻辑上是本地计算机。

  1. 当我们新建一个文件时,文件位于工作区,处于已修改(modified)状态,表明文件已进行了修改,但还没有提交保存;

  2. 通过命令 git add 将其添加到暂存区,文件是已暂存(staged)状态,表示把已修改的文件放到下次提交时要保存的清单中;

  3. 通过命令 git commit将文件放入本地仓库,文件为已提交(commited)状态,表示该文件已经被安全地保存在本地数据库中,到这一步可以说是成功生成了一个新的版本;

  4. 远程仓库用来将本地仓库上传到网络,实现备份、共享和合作。

 二、使用


1.基础指令(工作区,暂存区,本地仓)


   1.git init :初始化本地仓库
   2.git add 文件名 | git add . :将工作区的修改添加到暂存区
   3.git commit -m '提交信息' :将暂存区内容提交到本地仓库
   4.git diff 文件名 :查看工作区文件和远程仓库文件的区别
   5.git log :查看详细日志
      git reflog :查看简短日志
   6.git reset --hard 提交的版本唯一标识 :版本前进|后退
   7.git rm :删除文件。将删除的文件添加到暂存区

2.远程仓库的操作


   1.创建远程仓库


      1.添加远程仓库:
         git remote add origin 地址
         1.使用仓库的https协议
            1.将本地库中内容推送到远程库时,需要输入远程仓库的用户名和密码          
            2.出现账号密码输入错误,再使用时,还会使用之前的账号密码
                  解决方法:控制面板 -》搜索凭据 -》凭据管理器 -》gitee相关的 -》删除记录的用户名和密码
         2.使用仓库的SSH协议
            1.将本地库中内容推送到远程库时,不需要输入用户名和密码。
            2.生成公钥和私钥。详见:文档。
                 将公钥配置在远程仓库中。

   2.把本地库主分支中内容推送到远程仓库的主分支中:


      git push -u origin master

      -u:本地分支和远程分支建立关联联系,建立关联联系后可以使用 git push

      查看本地分支和远程分支是否存在关联关系:
      git branch -vv

   3.克隆远程仓库中的项目


            git clone https://地址 允许被克隆,直接克隆
            git clone ssh地址  gitee必须配置了本地git的公钥

三、分支

1.分支概念

        几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线(主分支)上分离开来,可以利用非主分支进行开发新的功能,测试等,以免影响开发主线。不同的任务组在不同的分支上开发,互相之间不会影响。比如说,需要向项目中添加一个新功能,不会直接在主分支上修改,都会新建一个分支,在上面更改代码。这样做的好处就是保证主线代码的完整性和可用性,也就是说,主线上都是稳定的代码,可以直接拿来发布的。

在版本控制过程中,多个分支可以同时推进,提高开发效率,各个分支互不影响,增加了容错性。

开发中常见的分支:


   常见的分支:

1.1 Master

​    主分支;主要是稳定的版本分支,正式发布的版本都从Master拉。

1.2 Develop

​    开发分支;更新和变动最频繁的分支,正常情况下开发都是在Develop分支上进行的。

1.3 Release

​    预发行分支;一般来说,代表一个版本的功能全部开发完成后递交测试,测试出Bug后进行修复的分支。

1.4 Features

​    功能分支; 其实Features不是一个分支,而是一个分支文件夹。里面包含了每个程序员开发的功能点。Feature开发完成后合入Develop分支。

1.5 HotFix

​    最希望不会被创建的分支;这个分支的存在是在已经正式上线的版本中,发现了重大Bug进行修复的分支。

2.分支指令 

   1.查看分支:git branch
   2.创建分支:git branch 分支名
   3.切换分支:git chenckout 分支名
   4.将本地分支推送到远程:git push origin 本地分支名:远程分支名
   5.合并分支:切换到主分支,合并其它分支。 git merger --no-f 分支名
   6.删除本地分支:git branch -d 分支名
   7.删除远程分支:git push origin --delete 远程分支名

 四、IDEA中操作Git

1.  idea集成本地Git

 

2. 克隆远程仓库中的项目 

 

 3. 使用IDEA将项目提交到本地仓库,并推送到远程仓库

 创建本地仓库

 将暂存区修改提交到本地仓库

 

 

 没有产生冲突

向远程仓库推送时,远程仓库中内容发生改变,没有冲突。

 

 产生冲突

向远程仓库推送时,远程仓库中内容发生改变,出现冲突。

        产生的根本原因是:两个人修改了同一个文件的同一块区域,在前者已经提交代码到远程仓库的情况下,后者在提交前没有使用pull命令更新代码,而是直接将修改完代码使用push命令推送到远程仓库,这时就会产生冲突。  

 解决冲突

 

将合并的结果提交即可

 idea结合分支的使用

1.新建一个分支

2.合并/删除分支 

使用新建分支向远程仓库推送后,远程仓库会自动创建分支。 

五、配置SSH公钥

 1.生成SSH公钥

- `ssh-keygen -t rsa`
- 不断回车
  - 如果公钥已经存在,则自动覆盖

2.Gitee设置用户公钥

获取公钥

- `cat ~/.ssh/id_rsa.pub`

  • 验证是否配置成功

    • ssh -T git@gitee.com

  • 推送,下拉时可以使用ssh的链接地址

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值