git通俗一点是干什么的(到底什么是ssh和git, 通俗的讲解下, 一定要通俗形象, 一下就明白, 不要扯太多专业术语,)
本文目录
- 到底什么是ssh和git, 通俗的讲解下, 一定要通俗形象, 一下就明白, 不要扯太多专业术语,
- git是干什么用的,和dos一样不!请简单说明
- git有什么作用
- git是干嘛的(在哪方面会用到)
- git的工作原理
- git可以干什么
到底什么是ssh和git, 通俗的讲解下, 一定要通俗形象, 一下就明白, 不要扯太多专业术语,
SSH是一种安全认证协议,Git是一个版本管理工具。关于SSH,如果觉得“安全认证协议”这个词太麻烦,你就把它当做“接头暗号”好了。不知道你看不看谍战片,片子里面搞地下工作的人,没有无线通信设备的时候,就要靠两个人之间接头来互通信息。为了安全,地下工作者都是单线联系,只有他的直接上级知道自己的真实身份,所以接头的两个人之间都是从来没见过面的,互不相识。这样就有一个问题,接头的人如何确保对方不是冒充的?接头暗号在这个过程中就起到了至关重要的作用。甲:要点什么菜?乙:随便。甲:这里没有随便卖!乙:那就上一碟花生米吧。上述是一种典型的接头场景。乙说的话就是个重要的凭证。凭这句话,甲就可以确认他不是冒充的。如果乙直接说上一碟花生米或者点了其他的菜,那么他不是普通百姓,就是敌人了。ssh协议跟接头暗号类似,甲方与乙方正式通信前,甲方要求乙方出示事先确定的凭证(接头的时候是暗号,而ssh是一串很长的英文字符),然后与自己的比对,如果一致,那就可以开始交换信息了,如果不一致,则马上终止。当然安全性是ssh协议最重要的特征,他还有一些其他特征,比如压缩传输之类的,这些搜一下百科就能知道了。关于Git,主要用于管理大型软件开发项目,为了更容易理解,我拿写word文档来举例吧。假设你正在写一个上百页的word文档,本来自认为差不多了,内容、格式方面都已经达到了完美的境界。但是第二天一觉醒来,还在懒床的时候突然有了新的想法,但不太确定是否可以让这份word文档更加完美,又怕修改了之后无法恢复到现在的样子。这时如果没有任何工具辅助,你的做法可能是:新建目录,命名为“备份“,然后将现在的word文档复制一份到备份目录里面,最后在文件名后面追加当前时间,表示这是当天备份的。做完这些工作后,你现在可以放心的修改了,但是修改后的效果不满意,于是你决定放弃修改,用备份目录里面的文档替换了修改后的文档,从而恢复到原来的样子。在完成整个word的过程中,也许这样的场景会重复几次甚至几十次,会不会觉得有点烦了?如果有git,你就不用这么麻烦了。你不用创建备份目录,不用一次又一次的拷贝文件。每次你要做修改的时候,她就会像贴心的秘书MM一样,主动帮你备份当前的文档(当然她不是通过创建备份目录来完成的,她自有妙招),而你完全感觉不到有这么一个过程的存在。你可以放心的在任何时刻做任何修改,而不用考虑万一修改失败能不能恢复到之前的样子,因为git可以帮助你快捷准确的恢复到之前任意时候的样子,而这个过程只需要输入几个英文单词确认执行命令就可以了。当然Git远不止这些,这只是Git的典型应用场景,也只是她的一点皮毛而已。有兴趣的话可以了解一些版本管理或者配置管理的知识。能力有限,也只能说到这个层次了,不知道这样说你能不能够理解。
git是干什么用的,和dos一样不!请简单说明
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。项目版本的管理工具还有maven ,svn,cvs等。DOS是英文Disk Operating System的缩写,意思是“磁盘操作系统”,顾名思义,DOS主要是一种面向磁盘的系统软件,说得简单些,DOS就是人与机器的一座桥梁,是罩在机器硬件外面的一层“外壳”,有了DOS,我们就不必去深入了解机器的硬件结构,也不必与死记硬背那些枯燥的机器命令,只需通过一些接近于自然语言的DOS命令,我们就可以轻松地完成绝大多数的日常操作。所以两个概念,两种不同的事物,没有可比性,最多相同的地方就是都要使用命令!!!
git有什么作用
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git的功能特性:从一般开发者的角度来看,git有以下功能:1、从服务器上克隆数据库(包括代码和版本信息)到单机上。2、在自己的机器上创建分支,修改代码。3、在单机上自己创建的分支上提交代码。4、在单机上合并分支。5、新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。6、生成补丁(patch),把补丁发送给主开发者。7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
git是干嘛的(在哪方面会用到)
git的最基本作用是版本控制,比如你写一个文档,老板一直让你改,这时笨的人会在原文档上直接改,聪明一点的会复制一下原文档,在副本上修改,这时老板说你的第三版比较好,笨的人煞笔了。。,聪明一点的就直接拷贝了第三版给客户发过去了。然后聪明一点的认为这次的事情完事了把其他没用的都删了,突然有一天老板说客户的意见和你最后一版的相同,这时聪明一点的人也煞笔了。。。。来了个最聪明的人,会用git,他在本地建了一个版本库,每次老板让他修改,他就把之前的版本提交一下,并标明这版的主要特点,这样文件夹里就只有一个文档,每次老板说要那个版本的,他就直接从版本库里恢复一下。git通常在编程中会用到,通常是多个人同时协作一个项目,有可能出现两个人同时修改一个文件,这时后提交的人会遇到冲突,需要解决冲突;git能够记录每个人的提交修改等形成日志,可以根据提交记录进行回滚;并且git支持分布式部署。纯手打,
git的工作原理
git的工作总共分四层,其中三层是在自己本地也就是说git仓库,包括了工作目录、暂存区和本地仓库。工作目录就是我们执行命令git init时所在的地方,也就是我们执行一切文件操作的地方;暂存区和本地仓库都是在.git目录下,因为它们只是用来存数据的。远程仓库在中心服务器,也就是我们做好工作之后推送到远程仓库,或者从远程仓库更新下来最新代码到本地。Git所存储的都是一系列的文件快照,然后git 来跟踪这些文件快照,发现哪个文件快照有变化他就会提示你需要添加到暂存区或是提交到本地仓库来保证你的工作目录是干净的。 这个要怎么理解呢?git中的文件有两种状态,一种是被跟踪的,也就是提交到本地仓库的文件,因为本地仓库要保管它们当然要跟踪他们,对他们负责,还有一种就是未被跟踪的。那么当我们添加新的文件时,他不是被跟踪的,因为本地仓库里面没有这个文件,他是外来的,本地仓库目前还不需要对他们负责。但是如果是对仓库已经存在的文件进行修改,那么这些文件就是被跟踪的文件,就可以通过git status查看他们的状态来进行相应的操作。当然我们也可以生成一个.gitignore文件,里面指定要忽略的文件类型,然后这些文件就不会被跟踪,不管怎么改变他们,git status都不会提示你需要做什么操作。 所以当我们在工作目录中进行文件操作后,要先添加到暂存区,然后再将暂存区中刚添加的文件快照提交到本地仓库,然后再将本地仓库的最新状态文件快照推送到远程仓库。这个文件快照其实就是各个文件在被添加到暂存区时的状态,就和照相的一样,留下每个不同时刻的快照,方便以后查询,而git存储的就是这些一系列的快照。说到这个快照就要说说git的对象了。Git对象 在.git-》Objects文件夹是一个个的git对象,是38位的哈希值,这样就意味着没有两个相同的对象名。 从根本上讲,git是一套内容寻址的文件系统,它存储的也是key-value键值对,然后根据key值来查找value的,说到寻址就会想到指针吧,不错,git也是根据指针来寻址的,这些指针就存储在git的对象中。Git一共有四种对象,commit对象,tree对象和blob对象和tag对象,这里可以理解tag是commit的别名,下面便是这三个对象: 每个目录都创建了“tree”对象, 每个文件都创建了一个对应的“blob”对象。最后有一个“commit”对象来指向根“tree”对象,这样我们就可以追踪项目每一项提交内容。 这个blob对象对应的就是文件快照中那些发生变化的文件内容,而 tree对象则记录了文件快照中各个目录和文件的结构关系,它指向了被跟踪的快照, commit对象则记录了每次提交到本地仓库的文件快照, 从在开发过程中,我们会提交很多次文件快照,那么第一次提交的内容会用一个commit来记录,这个commit 没有指针指向上一个commit对象,因为没有上一个commit,他是第一个,当第二次提交时,又会有另外一个commit对象来记录,那么这次commit对象中就会有一个指针指向上一次提交后的commit对象,经过很多次提交后就会有很多的commit对象,它们组成了一个链表,当我们要恢复哪个版本的时候,只要找到这个commit对象就能恢复那个版本的文件。而我们所谓的HEAD对象其实就是指向最近一个提交的commit对象,也就是最后一个commit对象。
git可以干什么
一、简介: 网上找到的git的中文资料,大部分是讲git的命令的使用,对于git的工作流程和如何实现团队合作的介绍少之又少,特别是对于团队代码库管理者的文档,几乎没有,这份文档将从开发者和管理者两方面介绍如何使用git 进行团队合作开发。二、git和svn的差异BH和swn最大的差异在于t是分布式的管理方式而sn是集中式的管理方式。如果不习惯用代码管理工具,可能比较难理解分布式管理和集中式管理的概念。下面介绍两种工具的工作流程(团队开发),通过阅读下面的工作流程,你将会很好的理解以上两个概念。集中式管理的工作流程如下图(图2.1):集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上是不可以工作。下面举例说明:开始新一天的工作:1:从服务器下载项目组最新代码。 2:进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代玛(很多人
更多文章:

jsonobject依赖(什么时候用jsonobject jsonarray.fromobject)
2025年2月23日 20:20

user agent什么意思(user agent是什么意思,有什么用啊)
2025年3月5日 17:20

studying的翻译(study 和studying都有名词词性 有什么区别)
2025年4月3日 03:40

天龙八部最新漏洞是什么?Win10最新漏洞被发现,微软向用户发红色警报:尽快更新,电脑小白该怎么操作
2025年3月17日 01:50

DEDE织梦系统 如何把一个网站数据转移到另外一个网站上?织梦dedecms如何调用当前栏目的文章列表
2025年3月30日 19:30

visual studio收费吗(正版visual studio软件是要收费的吗visual studio是谁家的产品)
2025年4月3日 08:50

pgsql和mysql性能对比(pgsql比mysql好在哪)
2025年3月10日 17:20