什么是版本控制?

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

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

什么是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. C#微服务必学清单

    在 C# 领域,有一些不错的微服务书籍和开源框架,对于学习微服务相关知识非常有帮助.以下是一些建议您阅读的微服务书目和开源框架. 微服务书目: 1. <Building Microservice ...

  2. 使用 Docker 部署 Draw.io 在线流程图系统

    1)介绍 Draw.io GitHub:https://github.com/jgraph/drawio Draw.io 是一款开源的绘制流程图的工具,拥有大量免费素材和模板.程序本身支持中文在内的多 ...

  3. Oracle 在PL/SQL将字符串分割输出

    Oracle 在PL/SQL将字符串分割输出 示例如下: declare begin for maina in (select tt.line ll from (select regexp_subst ...

  4. 力扣585(MySQL)-2016年的投资(中等)

    题目: 写一个查询语句,将 2016 年 (TIV_2016) 所有成功投资的金额加起来,保留 2 位小数. 对于一个投保人,他在 2016 年成功投资的条件是: 他在 2015 年的投保额 (TIV ...

  5. Pandas+ SLS SQL:融合灵活性和高性能的数据透视

    简介: Pandas是一个十分强大的python数据分析工具,也是各种数据建模的标准工具.Pandas擅长处理数字型数据和时间序列数据.Pandas的第一大优势在于,封装了一些复杂的代码实现过程,只需 ...

  6. Alibaba Cloud Linux 2 LTS 正式发布,提供更高性能和更多保障

    Alibaba Cloud Linux 2 LTS版本发布后,阿里云将会为该版本提供长达5年的软件维护.问题修复服务.从2019-03-27开始到2024-03-31结束.包括: 免费的服务和支持:A ...

  7. [FAQ] dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib

    通过 ls -al /usr/local/opt 可以看到 icu4c 链接的不是 libicui18n.64.dylib. 一般是 node 版本问题会出现该提示,通过观察版本大小,决定是升级还是使 ...

  8. 每天5分钟复习OpenStack(十三)存储缓存技术Bcache

    Ceph作为一个分布式存储,在项目中常见的形态有两者,一种是采用 SSD 或NVME 磁盘做Ceph的日志盘,使用SATA磁盘来做数据盘.这样的好处是比较经济实惠.另一种则是全部采用 SSD 或NVM ...

  9. WPF 关于将 ManipulationDeltaEventArgs 的 Manipulators 属性返回值修改为 ReadOnlyCollection 类型的提议

    这是一个 WPF 框架的 API 变更提议,记录一下博客 讨论的地方是: How about change the type of ManipulationDeltaEventArgs.Manipul ...

  10. MDK在头文件中使用预编译器时,#ifdef 无效的问题

    问题:在头文件中使用预编译时,会出现无效的现象 在a.h文件中定义了宏AA_TEST,如下所示 #ifndef __A_H #define __A_H #define AA_TEST #endif 在 ...