什么是版本控制?

版本控制是指对软件开发过程中各种程序代码,控制文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一

版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了 文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都 将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开 发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之 间的开发通信问题,提高协同开发的效率。(水话)

什么是Git?

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

Git 易于学习,占地面积小,具有闪电般的快速性能。它具有诸如Subver sionCVS之类的版本控制工具,具有廉价的本地分支,便捷的暂存区域和多 个工作流等功能

什么是集中式版本控制(了解)

集中化的版本控制系统诸如CVS,SVN等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法

  • 优点:

    • 每个人都可以一定程度上看到项目中的其他人正在做什么
    • 管理员可以轻松掌握每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来的轻松容易
  • 缺点:
    • 如果中央服务器出故障,那么在这故障期间,谁都无法提交更新,也无法协同工作

分布式版本控制

​ 像Git这种分布式版本控制工具,客户端提取的不是最新版本快照,而是把代码仓库完整地镜像下来(本地库),这样任何一处协同工作的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复. 因为每一个客户端的每次文件提取操作后,实际上都是一次对整个文件库的完整备份. 分布式的版本控制系统出现后,解决了集中式版本控制系统的缺陷

  1. 服务器断网的情况下也可以进行开发(因为版本是在本地进行的)
  2. 每个客户端保存的也都是整个完整的项目

工作流程

  • 工作区:就是你在电脑里能看到的目录,在本地磁盘创建项目(一般在开发工具 中完成).
  • 暂存区::英文叫 stage 或 index。一般存放在.git目录下的 index 文件(. git/index)中,添加工作区代码到暂存区,暂存区代码是临时存储,可以撤销
  • 版本库::工作区有一个隐藏目录.git,是 Git 的版本库,提交暂存区代码到本地 仓库,生成历史版本记录,历史版本记录不可删除,可以查看不同时期提交的历史 记录,和其他版本做比较

Git的安装与配置

在官网Git - Downloads (git-scm.com)下载

修改文件路径

后面选默认即可 上面是默认分支名"master" 下面是自定义

默认第一个即可

以上选项默认即可 到此安装成功 使用简单命令配置 和简单使用一下Git

注册邮箱以及用户名(方便远程使用)

启动Git Bash

命令
注册邮箱:-------------------------------
git config--global user.email "your邮箱"
git config--global user.name "Your Name"
查看信息:-------------------------------
git config--list

初始化项目

首先在D盘创建文件夹代表项目 如图

初始化命令:---------------------------------
git init 项目名(文件目录名)
提交到暂存区:
git add 文件名 (提交指定文件)
git add . (提交所有所有文件)
查看暂存区----------------------------------
git ls-files
恢复暂存区的指定文件到工作区:-----------------
git reset 文件名 撤销指定文件
git reset . 撤销所有文件
提交到本地仓库:-----------------------------
git commit-m (注释名)

当文件目录里出现.git文件目录即代表成功

Git在ideal上的使用

(本地)

首先创建新项目

File->setting->Version Control->Git

Path to Git exeCutable将Git bin目录中的git.exe路径复制过来 点击Test,如果出现如图Git version is 2.32.0即代表成功

点击Apply 再点击OK即可配置到IDEA

  • VSC中点击 如图选项创建Git仓库 项目出现.git时 表示创建仓库成功

  • 在项目名除 右击鼠标选择Git即可以进行Git相关命令的操作

在一些实际开发中,提交Git时我们只需要提交源代码即可,不需要提交其他一些文件 .out或者一些配置文件,要是手动选择提交的话就比较麻烦,所以我们可以使用一些插件来简化操作

在插件库中下载如下插件.ignore

在项目中创建.ignore File文件 在里面进行配置即可

Git简介以及下载安装和配置的更多相关文章

  1. Fiddler抓包工具简介:(二)下载安装及配置证书和代理

    Fiddler下载安装及配置 一.安装过程: 下载官网:https://www.telerik.com/fiddler 安装过程:一路next即可 启动Fiddler:当你启动了Fiddler,程序将 ...

  2. Netty学习——Apache Thrift 简介和下载安装

    Netty学习——Apache Thrift 简介和下载安装 Apache Thrift 简介 本来由Facebook开发,捐献给了Apache,成了Apache的一个重要项目 可伸缩的,跨语言的服务 ...

  3. CodeBlocks的下载安装、配置、简单编程

    CodeBlocks的下载安装.配置.简单编程 IDE简介 http://www.baidu.com/s?wd=codeblocks ,这里只是介绍Windows平台下的IDE环境配置. CodeBl ...

  4. 开源IDE CodeBlocks的下载安装、配置、简单编程

    如果没有集成开发环境(IDE),在linux下开发程序将非常繁琐,IDE是指将编辑.编译.调试等功能集成在一个桌面环境上,这样就大大方便了用户.IDE一般包括代码编辑器.编译器.调试器和图形界面用户工 ...

  5. PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程

    一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...

  6. Eclipse EE下载安装与配置

    Eclipse EE下载安装与配置 一.下载 下载链接:http://www.eclipse.org/downloads/eclipse-packages/ 1.进入Eclipse官网进行下载选择Ec ...

  7. jdk eclipse SDK下载安装及配置教程

    原文地址https://blog.csdn.net/dr_neo/article/details/49870587 最新鲜最详细的Android SDK下载安装及配置教程 最近Neo突发神经,想要将学 ...

  8. Xamarin.Forms教程下载安装JDK配置环境变量

    Xamarin.Forms教程下载安装JDK配置环境变量 Xamarin.Form环境配置下载安装JDK JDK是编程Java程序必须的软件.也许有人会问我们用的C#为什么还有Java呢?这是因为我们 ...

  9. PHP开发环境&MySQL下载安装及配置流程

    PHP开发环境&MySQL下载安装及配置流程 因工作须要,从0開始学PHP,前几天看完视频教程后開始搞开发环境,到今天才好.这里把安装配置流程梳理一下分享出来. 一.概述 要搭建一个开发环境无 ...

  10. 2018年Unity结合Android SDK下载安装及配置教程

    原文:2018年Unity结合Android SDK下载安装及配置教程 首先声明: Unity版本2017.1f3        最近试着在Unity中利用网易做AR开发时,发布项目文件需要发布到An ...

随机推荐

  1. SQLite总结

    废话不多说: 优点,高并发读快速度读取超越所有主流大中型数据库 缺点,缺少同步机制,读写不能同时,且同时只能有一个写入线程 用途,硬盘式缓存 另附一SQLite工具类: import java.io. ...

  2. 力扣915(java&python)-分割数组(中等)

    题目: 给定一个数组 nums ,将其划分为两个连续子数组 left 和 right, 使得: left 中的每个元素都小于或等于 right 中的每个元素.left 和 right 都是非空的.le ...

  3. 力扣430(java)-扁平化多级双向链表(中等)

    题目: 你会得到一个双链表,其中包含的节点有一个下一个指针.一个前一个指针和一个额外的 子指针 .这个子指针可能指向一个单独的双向链表,也包含这些特殊的节点.这些子列表可以有一个或多个自己的子列表,以 ...

  4. Spring Boot Serverless 实战系列“架构篇” 首发 | 光速入门函数计算

    ​简介:如何以 Serverless 的方式运行 Spring Boot 应用? ​ 作者 | 西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 ...

  5. CSS属性继承问题,那些会被继承,哪些不继承?

    总的来能被继承的就是三大类 一,字体有关的的,font-开头的 二,文本有关的,text- 开头的 三,visibility , cursor 其它的基本都是不能被继承 比如说这个,你以为它继承了ma ...

  6. SpringCloud + Seata1.5.0(使用docker安装配置Seata;数据存储mysql、配置中心与注册中心nacos)

    1.seata介绍 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata 将为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的分 ...

  7. HZ2023 远足游记

    你说得对,但是我放假之前写的 P4689 代码没了 所以来摆 4.6(远足) 上午 走路,刚开始感觉没啥 走到园博园发现没预料中那么顺利 但是还感觉没啥 因为也没预料到 \(N·m\) 学校会让我们原 ...

  8. 国外anonfiles网盘大文件下载器

    各位注意了,这个网站很久以前是可以国内直接访问的,后来被墙了,但仍然可以使用代理下载,现如今,6天前大概2023年8月10号左右这个网站已经挂了,就是彻底不能用了,所有与之有关的东西比如网页,都是假的 ...

  9. gin框架获取参数

    目录 httpext包 获取header头里的参数: scene := httpext.GetHeaderByName(ctx, "scene") // online / dev ...

  10. WEB服务与NGINX(2)-NGINX的I/O模型

    WEB服务与NGINX(2)-NGINX的I/O模型 目录 WEB服务与NGINX(2)-NGINX的I/O模型 1. linux I/0模型及在NGINX中的应用 1.1 I/O模型概述 1.2 系 ...