Git简介以及下载安装和配置

Git介绍

  • 什么是版本控制?
  • 什么是Git?
    • 什么是集中式版本控制(了解)
    • 分布式版本控制
      • 工作流程
  • Git的安装与配置
    • 注册邮箱以及用户名(方便远程使用)
    • 初始化项目
    • Git在ideal上的使用
      • (本地)

什么是版本控制?

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

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

什么是Git?

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

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

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

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

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

image-20240525172047638

分布式版本控制

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

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

工作流程

image-20240525181545327

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

image-20240525182420923

image-20240525182434992

image-20240525182500938

Git的安装与配置

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

屏幕截图 2024-05-25 154113

修改文件路径

屏幕截图 2024-05-25 154157

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

屏幕截图 2024-05-25 154211

默认第一个即可

屏幕截图 2024-05-25 154222

屏幕截图 2024-05-25 154229

屏幕截图 2024-05-25 154234

屏幕截图 2024-05-25 154239

屏幕截图 2024-05-25 154257

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

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

启动Git Bash

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

屏幕截图 2024-05-25 155103

初始化项目

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

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

屏幕截图 2024-05-25 160243

屏幕截图 2024-05-25 160252

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

屏幕截图 2024-05-25 160456

屏幕截图 2024-05-25 160502

屏幕截图 2024-05-25 160541

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

屏幕截图 2024-05-25 162742

屏幕截图 2024-05-25 162757

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

屏幕截图 2024-05-25 162823

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

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

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

屏幕截图 2024-05-25 164041

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

屏幕截图 2024-05-25 164342

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/840657.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

清理mysql binglog文件

mysql随着使用时间的推移,binglog文件会越来越大,比如我们的oa系统,上线4年多了,最近总有磁盘空间满影响系统正常使用的情况出现。检查后发现binglog是罪归祸首。 binglog文件最好不要采用应删除的方式清理,如下方式可…

spring cache(三)demo

一、入门demo 1、pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.o…

ACL组网实验(华为)

思科设备参考&#xff1a;ACL组网实验&#xff08;思科&#xff09; 更多内容参考&#xff1a;华为ACL配置&#xff08;基本ACL高级ACL综合应用&#xff09; 技术简介 ACL&#xff08;Access Control List&#xff09;技术是一种基于包过滤的流控制技术&#xff0c;主要用于…

ML307R OpenCPU UART使用

一、串口使用流程图 二、串口相关函数介绍 三、实现串口收发 一、串口使用流程图 OneMO ML307R模组提供了2路UART给开发者用于通讯开发&#xff0c;以及1路DBG UART用于log的打印。UART Demo示例可以在SDK&#xff1a;examples\uart\src\cm_demo_uart.c中查看。 串口使用流…

Vue3实战笔记(42)—Vue + ECharts:流量数据可视化的强大组合

文章目录 前言vue3使用echarts标准demo&#xff1a;总结 前言 在前端开发中&#xff0c;数据可视化已经成为了一个不可或缺的部分。Vue.js作为一个轻量级且易于上手的渐进式JavaScript框架&#xff0c;与ECharts这个强大的数据可视化库的结合&#xff0c;使得在Vue应用中构建交…

java继承(构造器)使用细节3

那么我们怎么来选择用父类的 有参构造器 和无参构造器泥&#xff1f; 就可以不写 或只写super() 并且如像爸爸的爸爸还有爸爸&#xff0c;还有构造。所以会一直调用到爷爷的构造。 细节2 直接继承指的是儿子和爸爸&#xff0c;爸爸和爷爷

Python 渗透测试:Redis 数据库 弱密码测试.(6379端口)

什么是 Redis 数据库 Redis (Remote Dictionary Server) 是一个开源的、内存中的数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等&#xff0…

View function mapping is overwriting an existing endpoint function: home_page

这个错误是因为在你的 Flask 应用中,你定义了两个或多个视图函数,它们使用了相同的 endpoint 名称。Flask 不允许多个视图函数使用相同的 endpoint 名称,因为这会导致冲突。 通常,这个错误会出现在以下几种情况下: 你在不同的路由装饰器中使用了相同的 endpoint 名称。你…

Xilinx(AMD) FPGA通过ICAP原语读取芯片IDCODE实现方法

1 概述 Xilinx每种型号的FPGA芯片都有一个唯一的IDCODE与之对应&#xff0c;同一型号不同封装的IDCODE是相同的。IDCODE的获取方法包括JTAG、ICAP原语、AXI_HWICAP IP核等。获取IDCODE常用于根据芯片型号改变代码的功能&#xff0c;或者对代码进行授权保护&#xff0c;只能在指…

Java使用apache.poi生成excel插入word中

加油&#xff0c;新时代打工人&#xff01; 工作需求&#xff0c;上个文章我们生成好的word&#xff0c;这次将生成好的excel表格数据&#xff0c;插入word中。需要准备好excle数据&#xff0c;然后插入到word中。 最后个需要&#xff0c;就是把这些生成好的word文档转成pdf进行…

EyeMock下载与使用教程

视频眼神修复直视镜头的AI具有极高的灵活性和适应性。它可以根据不同的拍摄环境和主播需求进行个性化设置&#xff0c;确保最佳的视觉呈现效果。在直播互动中&#xff0c;主播可能因为分神或疲劳而失去与观众的直视&#xff0c;这款工具能够迅速识别并修复这一问题&#xff0c;…

机器学习(七) ----------聚类(K-means)

目录 1 核心思想 2 K-means算法 2.1 算法概述 2.2 算法步骤 2.3 数学原理 2.4 ‘肘’方法确定K值 2.4.1 原理 2.4.2 步骤 2.4.3 代码实现 2.5 聚类评估方法 2.5.1 SC轮廓系数&#xff08;Silhouette Coefficient&#xff09; 计算方法 解读 注意事项 2.5.2 Cal…

刷代码随想录有感(77):回溯算法——含有重复元素的全排列

题干&#xff1a; 代码&#xff1a; class Solution { public:vector<int> tmp;vector<vector<int>> res;void backtracking(vector<int> nums, vector<int> used){if(tmp.size() nums.size()){res.push_back(tmp);return;}sort(nums.begin(),…

对安卓手机上损坏的 SD 卡进行故障排除:恢复提示和修复

概括 如果您总是在旅途中&#xff0c;那么您很可能每天都在使用 SD 卡。这些微小但功能强大的闪存已经变得和手机的内部存储一样有用。它们可以存储数据并移动您想要的任何数据类型&#xff0c;因为它们在 Android 设备上添加了额外的存储空间。不幸的是&#xff0c;他们可能会…

四天学会JS高阶(学好vue的关键)——深入面向对象(理论+实战)(第三天)

***本章面试使用居多* 理论篇**一、编程思想 1.1 面向过程 JS 前端居多 按照步骤 性能高 适合跟硬件关系很紧密 没有面向对象易维护易复用易扩展 1.2 面向对象 java典型 按照功能&#xff0c;把事务分别成一个个对象&#xff0c;对象之间分工合作 比较灵活 适合多人合作的…

python绘制多级饼图(分层饼图)

python绘制多级饼图&#xff08;分层饼图&#xff09; 介绍效果代码 介绍 多级饼图展示了数据的层次结构&#xff0c;其中每个级别表示数据的一个层次。我们可以使用matplotlib绘制多级饼图。 效果 代码 import matplotlib.pyplot as plt# 示例数据 outer_labels [Category…

css卡片横线100%宽度

所需样式: 横线不用border, 用单独一个div, 这样就不会影响父组件的padding <div class"pumpDetailView"><div class"pump_title_name"><span>{{ pumpInfo.pointname }}</span><divclass"point_state":style"…

html 字体设置 (web端字体设置)

windows自带的字体是有版权的&#xff0c;包括微软雅黑&#xff08;方正&#xff09;、宋体&#xff08;中易&#xff09;、黑体&#xff08;中易&#xff09;等 版权算是个大坑&#xff0c;所谓为了避免版权问题&#xff0c;全部使用开源字体即可 我这里选择的是思源宋体&…

nodejs 与 npm 版本对应关系

官方地址&#xff1a;https://nodejs.org/en/about/previous-releases