什么是版本控制?

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

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

什么是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. JavaScript中数值小知识

    1. 数值10.0 这种类似的会被去掉数值后的0 之所以这样是因为,整数的存储空间占用比浮点数小,当一个数值不是真浮点数(即10.0这种格式),会被转换为整数10,如果业务中有一些需求需要进行数值位数 ...

  2. 阿里云 ACK 容器服务生产级可观测体系建设实践

    简介: 随着容器被越来越对企业接纳与落地,可观测成为重点.那么,让我们深入了解阿里云 ACK 容器服务生产级可观测体系建设实践,为自身业务可观测提供参考- 作者:冯诗淳(行疾)   ACK 可观测体系 ...

  3. [FAQ] puppeteer 清空输入框的值 并 重新输入

    一种方式是,清空输入框可以通过如下注入代码实现,但是可能存在 和页面本身的操作 存在优先级问题. await page.evaluate( () => document.getElementBy ...

  4. [Trading] 如何应对股价下跌, 投资技巧

    如果你想利用股价下跌的机会,你可以做以下事情来潜在地赚取利润. 为什么股价下跌会吓到投资者 商品在低价时,我们都倾向于买入,对于股票,价格暴跌以投资的形式损失你的钱,令人产生卖出情绪. 然而在卖掉之前 ...

  5. [FAQ] wechaty 与 wechaty-puppet-padplus 生态安全吗

    答案是肯定有风险. 非技术角度讲,使用这种方式登录微信存在被微信官方风控的可能性,需要特别注意. 另外,以下是 wechaty 项目说明文件中截取的内容: 我们可以看到,除了微信官方方面的风险,我们的 ...

  6. Python:Lambda

    Lambda >>> (lambda: 3)() # Using a lambda expression as an operator in a call exp. 经过查阅资料,理 ...

  7. 2019-11-29-C#-如何写-DEBUG-输出

    title author date CreateTime categories C# 如何写 DEBUG 输出 lindexi 2019-11-29 08:28:35 +0800 2018-2-13 ...

  8. selenium操作浏览器模块

    selenium模块用途 selenuim原先多用于测试部门测试,由于它可以操作浏览器,有时候也用于爬虫领域 优点:操作浏览器访问网站 缺点:速度较慢 下载模块 # 下载模块 pip3 install ...

  9. HttpClient配置SSL绕过https证书以及双向认证

    HttpClient简介 1.HTTP 协议是 Internet 上使用得最多.最重要的协议之一,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 java ...

  10. 习题8 #第8章 Verilog有限状态机设计-1 #Verilog #Quartus #modelsim

    1. 设计一个"111"串行数据检测器.要求是:当检测到连续3个或3个以上的"1"时输出为1,其他输入情况下输出为0. (1)思路分析:参照本章前文的范例,如第 ...