`

Git简介

阅读更多

2.Git

生于2005 年以来,Git 日臻成熟完善,在高度易用的同,仍然保留着初期定的目

。它的速度快,极其适合管理大目,它有着令人以置信的非线性分支管理系

第三章),可以付各种复杂开发需求

 

直接快照,而非比较差异

Git 和其他版本控制系的主要差在于,Git 心文件数据的整体是否化,而

大多数其他系统则心文件内容的具体差异。这类CVSSubversionPerforceBazaar

等等)记录有哪些文件作了更新,以及都更新了哪些行的内容

 

 

Git 并不保存些前后化的差异数据。实际上,Git 更像是把化的文件作快照后,

在一个微型的文件系中。次提交更新,它会纵览一遍所有文件的指信息并文件

作一快照,然后保存一个指向次快照的索引。提高性能,若文件没有化,Git 不会再

次保存,而只上次保存的快照作一

 

近乎所有操作都可本地执行

Git 中的大多数操作都只需要访问本地文件和源,不用网。但如果用CVCS

,差不多所有操作都需要接网。因Git 在本地磁上就保存着所有有当前

史更新,所以理起来速度快。

个例子,如果要浏览项目的史更新摘要,Git 不用跑到外面的服器上去取数据回

来,而直接从本地数据库读取后展示你看。所以任何候你都可以上翻,无需等待。

如果想要看当前版本的文件和一个月前的版本之有何差异,Git 会取出一个月前的快照和

当前文件作一次差异运算,而不用程服器来做件事,或是把老版本的文件拉到本

地来作比

 

时刻保持数据完整性

在保存到Git 之前,所有数据都要行内容的校和(checksum算,并将此果作

数据的唯一标识和索引。话说,不可能在你修改了文件或目之后,Git 一无所知。

这项特性作Git 设计哲学,建在整体架构的最底。所以如果文件在传输时变得不完

整,或者磁盘损致文件数据缺失,Git 都能立即察

Git 使用SHA-1 算法算数据的校和,通过对文件的内容或目算出一个

SHA-1 哈希,作字符串。字串由40 个十六制字符(0-9 a-f

 

 

Git 的工作完全依这类字串,所以你会常看到这样的哈希实际上,所有保

存在Git 数据中的西都是用此哈希来作索引的,而不是靠文件名。

 

多数操作仅添加数据

常用的Git 操作大多仅仅是把数据添加到数据。因任何一不可逆的操作,比如

除数据,要回退或重都会非常困。在VCS 中,若未提交更新,就有可能失或

者混淆一些修改的内容,但在Git 里,一旦提交快照之后就完全不用担心失数据,特

是在成了定期推送至其他仓库习惯

 

三种状态

于任何一个文件,在Git 内都只有三

:已提交(committed),已修改(modified)和已存(staged)。已提交表示

文件已被安全地保存在本地数据中了;已修改表示修改了某个文件,但没有提交保

存;已存表示把已修改的文件放在下次提交要保存的清

 

Git 管理,文件流的三个工作区域:Git 的本地数据目,工作

以及存区域

 

目都有一个git ,它是Git 用来保存元数据和象数据的地方。

常重要,次克隆仓库候,实际的就是个目里面的数据。

目中取出某个版本的所有文件和目,用以始后工作的叫做工作目些文件

实际上都是从git 中的压缩对象数据中提取出来的,接下来就可以在工作目

些文件编辑

存区域只不是个简单的文件,一般都放在git 中。有候人会把

文件叫做索引文件,不过标是叫存区域

 

基本的Git 工作流程如下所示:

1. 在工作目中修改某些文件。

2. 对这些修改了的文件作快照,并保存到存区域。

3. 提交更新,将保存在存区域的文件快照转储git 中。

所以,我可以从文件所的位置来判断状:如果是git 中保存着的特定版本文

件,就属于已提交状;如果作了修改并已放入存区域,就属于已存状;如果自上次

取出后,作了修改但没有放到存区域,就是已修改状

 

安装Git

主要有两

,一是通过编译源代来安装;另一是使用特定平台预编译好的安装包

 

从源代码安装

Git 的工作需要curlzlibopensslexpatlibiconv 的代,所以需要先

安装些依工具

 

之后,从下面的Git 官方站点下最新版本源代

http://git-scm.com/download

然后编译并安装

 

在已可以用git 命令了,用git Git 仓库克隆到本地,以便日后随更新:

$ git clone git://git.kernel.org/pub/scm/git/git.git

 

Windows 上安装

Windows 上安装Git 样轻松,有个叫做msysGit 目提供了安装包,可以从

Google Code 面上下安装文件(.exe):

http://code.google.com/p/msysgit

完成安装之后,就可以使用命令行的git 工具(已ssh 端)了,另外

一个形界面的Git 目管理工具

 

初次运行Git 前的配置

一般在新的系上,我都需要先配置下自己的Git 工作境。配置工作只需一次,以

后升级时还会沿用在的配置。当然,如果需要,你随可以用相同的命令修改已有的配

置。

Git 提供了一个叫做git config 的工具

专门用来配置或取相的工作量。而正

是由量,决定了Git 在各个环节的具体工作方式和行量可以存放在

以下三个不同的地方:

/etc/gitconfig文件:系所有用都普遍适用的配置。若使用git config

--system 选项写的就是个文件。

~/.gitconfig文件:用下的配置文件只适用于。若使用git config

--global 选项写的就是个文件。

• 当前目的git 中的配置文件(也就是工作目中的.git/config 文件):

里的配置仅仅针对当前目有效。一个级别的配置都会覆盖上的相同配置,所以

.git/config 里的配置会覆盖/etc/gitconfig 中的同名量。

Windows 上,Git 会找主目下的.gitconfig 文件。主目$HOME

指定的目,一般都是C:\Documents and Settings\$USER。此外,Git 尝试/

etc/gitconfig 文件,只不看当初Git 装在什,就以此作根目来定位

 

 

 

用户信息

第一个要配置的是你个人的用名称和件地址。两条配置很重要,Git

都会引用两条信息,明是提交了更新,所以会随更新内容一起被永久

 

$ git config --global user.name "John Doe"

$ git config --global user.email johndoe@example.com

如果用了--global 选项,那更改的配置文件就是位于你用主目下的那个,以后你

所有的目都会默使用里配置的用信息。如果要在某个特定的目中使用其他名字或

电邮,只要去掉--global 选项重新配置即可,新的定保存在当前目的.git/config

文件里。

 

 

文本编辑器

接下来要置的是默使用的文本编辑器。Git 需要你入一些外消息的候,会自

用一个外部文本编辑你用。默会使用操作系指定的默认编辑器,一般可能会是

Vi 或者Vim

$ git config --global core.editor emacs

 

差异分析工具

有一个比常用的是,在解决合并冲突使用哪差异分析工具。比如要改用vimdiff

$ git config --global merge.tool vimdiff

 

查看配置信息

检查已有的配置信息,可以使用git config --list 命令

 

 

候会看到重量名,那就明它来自不同的配置文件(比如/etc/gitconfig

~/.gitconfig),不Git 实际采用的是最后一个。

也可以直接查阅某个量的定,只要把特定的名字跟在后面即可,像这样

$ git config user.name

 

 

获取帮助

想了解Git 的各式工具用,可以阅读的使用帮助,方法有三:

$ git help <verb>

$ git <verb> --help

$ man git-<verb>

 

分享到:
评论

相关推荐

    技嘉Z97X UD3H F9 增加NVME启动功能

    亲测可用

    《基于YOLOv8的音响设备识别系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    毕业设计物联网实战项目基于mqttd-centos7-v2.3.11.zip 配置的emqtt服务器,配套金大万翔物联网管理平台.zip

    【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    毕设单片机实战项目基于ESP8266的家庭版简易开关.zip

    【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    毕设单片机实战项目基于ESP8266制作的一个局域网关灯神器,还有一个OLED,用于显示实时时间和最近三天的天气信息。.zip

    【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    毕业设计物联网实战项目基于树莓派wifi的物联网项目.zip

    【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    IDE的护眼的主题的套件

    IDE护眼主题套件

    【新能源汽车】基于Matlab/Simulink的增程式电动车动力系统仿真模型设计与优化:功率跟随控制及能量流管理

    内容概要:文章详细介绍了基于Matlab/Simulink构建的增程式电动车仿真模型。该模型由电池、电机、发动机、整车动力学、控制策略和驾驶员模块六大组件构成,重点在于各模块间的能量流动逻辑。文中特别强调了功率跟随控制策略,通过PID闭环控制使发动机功率与电池需求动态匹配,优化了燃油经济性和SOC控制精度。此外,模型采用开放式架构,所有参数通过m脚本集中管理,便于修改和扩展。文章展示了模型在典型工况下的性能表现,并突出了其在科研和工程应用中的灵活性和实用性。; 适合人群:对新能源汽车技术感兴趣的工程师、研究人员以及高校相关专业师生。; 使用场景及目标:①用于研究增程式电动车的能量管理策略;②作为教学案例帮助学生理解复杂系统的建模方法;③为实际工程项目提供可复用的仿真平台。; 阅读建议:读者应重点关注模型的架构设计和关键控制算法实现,同时结合提供的代码片段进行实践操作,以便更好地掌握增程式电动车的工作原理及其优化方法。

    51a30-main.zip

    51a30-main.zip

    【Java数据库技术】索引类型与事务特性详解:提升SQL查询性能与数据一致性管理

    内容概要:本文详细介绍了多种类型的数据库索引及其应用场景,包括普通索引、唯一性索引、单个索引、复合索引、聚簇索引、非聚簇索引、主索引、外键索引、全文索引和空间索引。每种索引都有其独特的定义、要点和适用场景,并附有具体的SQL代码示例。此外,文章还对比了InnoDB和MyISAM两种存储引擎的特点,解释了脏读、不可重复读、可重复读和幻读的概念,并讨论了SQL优化的方法以及数据库事务的ACID特性。 适合人群:具备一定数据库基础知识的开发者、数据库管理员以及参与数据库设计和优化的技术人员。 使用场景及目标:①帮助开发者选择合适的索引类型以提高查询效率;②理解不同存储引擎的特点,选择最适合应用场景的存储引擎;③掌握事务隔离级别的概念,避免数据不一致问题;④学习SQL优化技巧,提升数据库性能;⑤理解ACID特性,确保数据库操作的一致性和可靠性。 阅读建议:本文内容较为全面且深入,建议读者结合实际项目需求,重点理解不同类型索引的应用场景,掌握SQL优化的基本原则,并熟悉事务处理的最佳实践。

    【MATLAB优化算法】基于MATLAB的优化算法实现与应用:涵盖梯度下降、线性规划、非线性规划及智能优化算法

    内容概要:本文详细介绍了MATLAB中优化算法的实现方法,涵盖确定性算法(如梯度下降法)和随机性算法(如遗传算法、粒子群优化)。文章首先讲解了梯度下降法和MATLAB优化工具箱的应用,展示了如何使用fmincon解决约束优化问题。接着,文章深入探讨了线性规划、非线性规划和多目标优化的理论和实践,提供了具体的MATLAB代码示例。此外,文中还介绍了遗传算法、粒子群优化和模拟退火算法的原理及应用,并通过实例展示了这些算法在实际问题中的使用。最后,文章讨论了优化算法在工程、金融和机器学习领域的高级应用,以及调试和优化的常见策略。 适合人群:具备一定编程基础,对优化算法感兴趣的工程师、研究人员和学生。 使用场景及目标:①理解优化算法的基础理论和实现方法;②掌握MATLAB优化工具箱的使用,解决线性、非线性、多目标优化问题;③学习遗传算法、粒子群优化和模拟退火算法的具体应用;④提高优化算法的性能和可靠性,解决实际工程、金融和机器学习问题。 阅读建议:本文内容丰富,涉及多种优化算法及其MATLAB实现,建议读者先掌握基本的优化理论和MATLAB编程基础,再逐步深入学习各类算法的具体应用。在学习过程中,结合提供的代码示例进行实践,并尝试调整参数以优化算法性能。

    python for appium ui automate test, it is something to update.

    this is for myself learn coding, change a pc debug.

    p111基于django的企业员工管理系统.zip

    项目资源包含:可运行源码+sql文件 适用人群:学习不同技术领域的小白或进阶学习者;可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 项目具有较高的学习借鉴价值,也可拿来修改、二次开发。 有任何使用上的问题,欢迎随时与博主沟通,博主看到后会第一时间及时解答。 开发语言:Python 框架:django Python版本:python3.8 数据库:mysql 5.7 数据库工具:Navicat 开发软件:PyCharm 浏览器:谷歌浏览器

    毕设单片机实战项目基于esp8266的太空人时钟小电视.zip

    【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    电力电子MMC型STATCOM/SVG载波移相调制与电压均衡控制技术详解:从理论到实战调试经验分享

    内容概要:本文深入探讨了MMC型STATCOM/SVG的核心技术和调试技巧,重点讲解了载波移相调制(CPS-PWM)和电压均衡控制两大关键技术。载波移相调制通过为每个子模块设置不同的载波相位差,有效降低谐波含量并优化开关频率。电压均衡则分为桥臂内、桥臂间和相间三个层次,分别采用动态排序、比例控制和零序电压注入等方法,确保系统稳定运行。文章还分享了多个实战经验,如低压调试、红外热像仪检测以及避免参数设置不当引发的问题。; 适合人群:从事电力电子领域,特别是参与STATCOM/SVG项目的设计、开发和调试的技术人员。; 使用场景及目标:①理解MMC型STATCOM/SVG的工作原理和技术细节;②掌握载波移相调制的具体实现方法;③学习电压均衡控制的各种策略及其应用场景;④获取实际调试过程中常见问题的解决方案。; 阅读建议:本文涉及大量技术细节和实战经验,建议读者结合实际项目进行阅读,重点关注载波移相调制和电压均衡控制的具体实现,并参考提供的代码片段进行实践。

    liangmmm_finalll.scdoc

    liangmmm_finalll.scdoc

    区块链开发中Solidity语言的关键特性与应用解析

    内容概要:本文详细介绍了Solidity语言的核心概念和语法特性,涵盖结构体、函数修改器、事件、类型系统、数组、映射、操作符、合约可见性、构造函数、抽象合约、接口、继承、控制结构、异常处理和keccak256哈希函数等内容。通过这些知识点的讲解,帮助开发者理解如何构建高效、安全的智能合约。; 适合人群:对区块链开发感兴趣,尤其是希望深入了解以太坊智能合约开发的初学者及有一定编程基础的研发人员。; 使用场景及目标:①掌握Solidity语言的基本语法和高级特性,如结构体、函数修改器、事件等;②理解合约的可见性、继承、接口等面向对象编程特性;③学会使用keccak256等安全机制保障智能合约的安全性;④能够运用控制结构和异常处理编写健壮的合约逻辑。; 阅读建议:建议读者从基础语法开始逐步深入,结合实际案例进行练习。尤其要注意合约的安全性和性能优化,避免常见的漏洞和错误。在学习过程中,应多参考官方文档和其他优质资料,不断巩固和拓展知识体系。

    原型模式课上代码.zip

    原型模式课上代码.zip

    【锂电池管理】基于Simulink的双向DC-DC主动均衡电路与模糊控制算法:实现高效SOC差异调控

    内容概要:文章介绍了利用Simulink搭建锂电池组主动均衡系统的原理与实现方法。通过双向DC-DC主动均衡电路和模糊控制算法,解决了储能项目中电池包SOC(荷电状态)差异过大的问题。文中详细解释了关键代码逻辑,包括均衡状态切换、模糊控制器规则配置以及动态子系统使能技术的应用。特别提到当SOC最大差值超过设定阈值时,系统会自动启动均衡,并根据差值大小智能调整均衡电流。仿真结果显示,在处理突发状况(如某电池SOC突然下降)时,该系统能在短时间内恢复平衡。此外,文章还分享了调试过程中的一些实用技巧,如设置合理的均衡电流限值。; 适合人群:从事锂电池管理系统研发的技术人员,尤其是有一定MATLAB/Simulink使用经验的工程师。; 使用场景及目标:①解决储能系统中锂电池组SOC不一致的问题;②优化现有均衡策略,提高均衡效率;③学习如何在Simulink中实现复杂控制算法。; 其他说明:本文不仅提供了详细的代码示例和技术细节,还通过生动的比喻帮助读者更好地理解复杂的控制逻辑。建议读者在实践中结合理论知识进行调试和验证。

    毕业设计物联网实战项目基于ESP8266组建的智能安防系统.zip

    【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

Global site tag (gtag.js) - Google Analytics