Git的安装以及使用
一.简单介绍
1.1版本控制
版本控制是指对软件开发过程中各种程序代码,配置文件及说明文档等文件变更管理,是软件配置管理的核心思想之一。
版本控制最重要的内容是追踪文件的变更,它将什么时候,什么人更改了文件的什么内容等信息忠实的记录下来。除此之外,版本控制的另一重要的功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高开发效率。
1.2git
1.2.1什么是git
Git是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。
Git易于学习,占地面积小,具有闪电般的快速性能。它有诸如Subversion,CVS之类的版本控制工具,具有廉价的本地分支,便捷的暂存区域和多个工作流等功能。
1.2.2集中式
集中化的版本控制系统诸如CVS,SVN等,都有一个单一的集中管理服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务 器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做 法。这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在 做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。 这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时, 那么在这一小时内,谁都无法提交更新,也就无法协同工作。
1.2.3分布式
像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照, 而是把代码仓库完整地镜像下来(本地库),这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:
1,服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
2,每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
1.3Git工作流程

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

1. 工作区代码添加到暂存区
2. 暂存区代码提交到本地版本库
3. 本地版本库代码推送到远程仓库
4. 从远程仓库拉取代码到本地
说明:
workspace:工作区
staging area:暂存区/缓存区
local repository:或本地仓库
remote repository:远程仓库远程仓库
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。
局域网
GitLabe
互联网
GitHub(外网)
Gitee 码云(国内网站)
二.Git的安装
三.Git 基本操作
在我们完成上述的安装操作后,打开管理命令的窗口。

首先我们需要设置邮箱和用户名
使用以下的两个指令
git config --global user.email "自己的邮箱"
git config --global user.name "Your Name"
我们可以查看配置信息
git config --list
以下是如何将文件通过一系列指令提交到本地仓库
例如:我们在D盘创建一个文件夹
D:\gittest
命令行窗口进入D:
初始化:
git init 项目名
提交到暂存区
git add 文件名 (提交指定文件)
git add . (提交所有所有文件)
查看暂存区
git ls-files
恢复暂存区的指定文件到工作区
git reset 文件名 撤销指定文件
git reset . 撤销所有文件
提交到本地仓库
git commit -m 注释
四.idea集成Git并添加项目到git仓库
相关文章:
Git的安装以及使用
一.简单介绍 1.1版本控制 版本控制是指对软件开发过程中各种程序代码,配置文件及说明文档等文件变更管理,是软件配置管理的核心思想之一。 版本控制最重要的内容是追踪文件的变更,它将什么时候,什么人更改了文件的什么内容等信息忠实的记录…...
双路视频同屏显示(拼接)-基于野火Zynq7020开发板
前情提要 米联客FDMA驱动OV5640摄像头—基于野火Zynq7020开发板 本文在此基础上,实现了双路视频拼接。将ov5640输出的1024600的图像数据缩放为512600,分两路写入ddr3,并且显示在1024*600的RGB屏幕中。 纯FPGA也可以按此方法实现。 总体BLOC…...
ForkJoinPool浅析
一,概述 相比传统的线程池ExecuteService,ForkJoinPool的优势在于能采用分治算法、工作窃取算法高效利用CPU资源,如下图 Fork即拆分,Join即合并, 通过将大任务拆分成多个小任务,在多个线程中执行后,合并结果即可得到大任务的结果,经典的例子有归并排序、超大数组求和…...
【AI-小米机器狗】Dockerfile包含SSH和SFTP
通过这些步骤,可以在docker容器中安装运行SSH和SFTP服务,设置ssh和sftp的密码,克隆指定的Git仓库到/home目录,并使用bash作为入口点, # 基于原始镜像 FROM cyberdog_sim:v1# 更新包列表并安装OpenSSH服务器和git RUN …...
仿真CAN报文发送的CRC校验算法(附CAPL代码)
文章目录 前言一、为什么CAN报文有CRC?二、怎么确定是否需要做CRC校验?三、CAPL代码实现CRC算法 前言 关于CRC校验的基本理论、算法实现网上已经有很多介绍文章,本文不再赘述。只是记录在项目测试中真正开发CRC算法并进行测试的一些体会。 …...
如何在Android应用中最佳实现“Edge to Edge“特性?
Edge to Edge"特性 要在Android应用中最佳实现"Edge to Edge"特性,可以按照以下步骤进行操作: 1. 设置目标版本:将应用的目标版本设置为Android Q或更高版本。在build.gradle文件中,将targetSdkVersion设置为Q。 2. 设置主题样式:在styles.xml文件中,创…...
多租户与低代码开发的应用:解锁企业数字化转型的无限可能
在数字化转型的浪潮中,多租户与低代码开发已经成为推动企业快速、灵活、安全地构建和部署应用的关键技术。本文将深入探讨这两种技术的结合如何为企业带来前所未有的变革和机遇。 多租户架构:资源共享与隔离的艺术 多租户架构,是一种高级的软…...
出现身份验证错误,无法连接到本地安全机构 顺利解决这个问题希望能帮助大家
出现身份验证错误,无法连接到本地安全机构,远程计算机:XX,这可能是由于密码过期,如果密码已过期请更新密码。 我们可以在系统属性中对远程进行设置,以解决远程桌面无法连接到本地安全机构这一问题。 步骤…...
老师把卷子拍成图片如何打印
如今,老师们经常会把试卷、习题拍成图片分享给学生(如通过微信群或钉钉群的形式)。但随之而来的问题是,这些图片如何方便地打印出来呢?尤其是当面对一张张精美的试卷图片时,许多学生和家长都感到头疼。 一…...
MySQL数据库(三):读取数据库数据
上一节,我们介绍了数据库的基本操作,以及最后演示了如何使用库来连接数据库,在实际应用中,我们通常需要按照指定的条件对数据库进行操作,即增删改查操作,这是非常重要的!这一节我们继续通过一个…...
分销裂变实战:PLG模式如何助力企业突破增长瓶颈
在竞争激烈的商业环境中,企业如何快速、有效地实现增长,一直是业界关注的焦点。近年来,分销裂变作为一种新兴的商业模式,凭借其独特的优势,逐渐受到企业的青睐。而产品驱动增长(PLG)模式更是为分…...
定积分定义求极限专题
文章目录 定积分定义求极限问题的描述解决方法真题实践(持续更新中,未完结) 定积分定义求极限问题的描述 在定积分定义求极限中,我们可能存在的问题 被积函数不会找积分区间不会定(只会[0,1]的)根本不知道“补系数”…...
LLaMA:挑战大模型Scaling Law的性能突破
实际问题 在大模型的研发中,通常会有下面一些需求: 计划训练一个10B的模型,想知道至少需要多大的数据?收集到了1T的数据,想知道能训练一个多大的模型?老板准备1个月后开发布会,给的资源是100张A100,应该用多少数据训多大的模型效果最好?老板对现在10B的模型不满意,想…...
vue3 +elementPlus上传照片墙
获取到照片字符串然后push到fileList对应的URL中 if (formData.value.pictures) {let zz formData.value.pictures.split(",")zz.forEach((item) > {fileList.value.push({ url: item })})}对应表单 <el-form-item label"内容详情图"><el-up…...
Charles网络抓包工具安装和web抓包(一)
目录 概述 抓包工具对比 安装 下载 web抓包配置 按键说明 前言-与正文无关 生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入工作的漩涡,忘记了停下脚步&#…...
mysql workbench使用schema视图导出表和列结构到excel
目的:导出所有表和列的名字和注释 很多时候没有正规的数据库文档,为了快速交流啊,需要一个快捷的基础。数据库建表的时候可能有注释,也可能没有注释。有当然好,查看注释就能清楚很多,没有的话最好一个一个补…...
Linux操作系统--软件包管理(保姆级教程)
RPM软件包的管理 大多数linux的发行版本都是某种打包系统。软件包可以用来发布应用软件,有时还可以发布配置文件。他们比传统结构的.tar和.gz存档文件有几个优势。如它们能让安装过程尽可能成为不可分割的原子操作。 软件包的安装程序会备份它们改动过的文件。如果…...
【uniapp】HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE
HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE 问题描述 uniapp开发微信小程序,在HBuilderx中运行到微信开发者工具时报错Error: Fail to open IDE 解决方案 1. 查看微信开发者工具端服务端口是否开放 打开微信开发者工具选择࿱…...
Rust详解日志
详解日志 相比起监控,日志好理解的多:在某个时间点向指定的地方输出一条信息,里面记录着重要性、时间、地点和发生的事件,这就是日志。 注意,本文和 Rust 无关,我们争取从一个中立的角度去介绍何为日志 日…...
某麦网自动刷新抢票脚本——手机端(高级版)
某麦网自动刷新抢票脚本——电脑端 小白操作-抵制黄牛–需要更好用更高级关注获取 如何用Python自动抢大麦网演出票? 在数字化时代,购票已经成为我们生活的一部分,无论是音乐会、话剧、体育赛事还是各种展览,抢票几乎成了一项“…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
MeshGPT 笔记
[2311.15475] MeshGPT: Generating Triangle Meshes with Decoder-Only Transformers https://library.scholarcy.com/try 真正意义上的AI生成三维模型MESHGPT来袭!_哔哩哔哩_bilibili GitHub - lucidrains/meshgpt-pytorch: Implementation of MeshGPT, SOTA Me…...
高保真组件库:开关
一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…...
自定义线程池1.2
自定义线程池 1.2 1. 简介 上次我们实现了 1.1 版本,将线程池中的线程数量交给使用者决定,并且将线程的创建延迟到任务提交的时候,在本文中我们将对这个版本进行如下的优化: 在新建线程时交给线程一个任务。让线程在某种情况下…...
