版本控制系统

Git起步

不问归期 提交于 2020-01-19 18:54:11
简介 Git是一个开源的分布式版本控制系统,可以对任何类型的文件进行版本控制。 特点 直接记录快照,而非差异比较 大部分系统都是以文件变更列表的方式存储每个文件与初始版本的差异, Git则把数据看作是对小型文件系统的一组快照,在文件发生变更时对当时的全部文件制作一个快照并保存这个快照的索引,形成一系列快照流; 近乎所有操作都是本地执行 在Git中的绝大多数操作都只需访问本地文件和资源,一般不需要来自网络的其它信息,因为在本地磁盘上就有项目的完整历史; 保证完整性 Git中所有数据在存储前都通过SHA-1哈希算法计算校验和,然后以校验和来引用,这意味着不可能在Git不知情的情况下更改任何文件内容; 一般只添加数据 执行的Git操作几乎只往Git仓库中增加数据,很难让Git执行任何不可逆操作,或者让它以任何方式清除数据。 状态转换 Git有三种状态: 已修改:表示修改了文件,但还没保存至Git仓库; 已暂存:表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中; 已提交:表示文件已经安全的保存至Git仓库。 与之对应,Git项目具有以下三个工作区域: 工作目录:对项目某个版本独立提取出来的内容,放在磁盘以供修改与使用; 暂存区域:是一个文件,保存下次将提交的文件列表信息; Git仓库:Git用来保存项目元数据和文件对象的仓库。 工作流程 在工作目录中修改文件; 暂存文件

Windows系统Git安装教程(详解Git安装过程)

白昼怎懂夜的黑 提交于 2020-01-19 16:16:49
获取Git安装程序   到Git官网下载,网站地址: https://git-scm.com/downloads,如下图 :   因为我们是用Windows系统上的浏览器访问的,Git官网自动之别到了我使用的操作系统,所以右侧直接显示下载使用Windows系统的最新版本(如果识别错误,可以在中间选择系统),点击即可下载。我下载的是 2.24.0 for Windows,文件名称是“Git-2.24.0.2-64-bit.exe”。下载到电脑上之后,鼠标双击这个文件即可进入安装过程。 Git安装过程   双击看到的第一个界面如下图: 01、使用许可声明   点击“Next”进入下图页面: 02、选择安装路径   在输入框内输入想要安装到的本机路径,也就是实际文件夹位置,或点击“Browse...”选择已经存在的文件夹,然后点击“Next”按钮继续,进入下图界面: 03、选择安装组件   上图红框内的选项是默认勾选的,建议不要动。绿色框1是决定是否在桌面创建快捷方式的。绿色框2是决定在所有控制台窗口中使用TrueType字体和是否每天检查Git是否有Windows更新的。这些根据自己需要选择。   点击“Next”按钮进入下图界面: 04、选择开始菜单页   这个界面是创建开始菜单中的名称,不需要修改,直接点“Next”按钮继续到下图的界面: 05、选择Git文件默认的编辑器  

git,github,gitlab和码云的区别

点点圈 提交于 2020-01-19 05:10:58
相关概念 1.git的概念 git 是一个 开源的分布式版本控制系统 ,用于 敏捷高效地处理任何或小或大的项目 。 git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件 。 git 与常用的版本控制工具 CVS, Subversion 等不同,它 采用了分布式版本库的方式,不必服务器端软件支持 。 git 由Linus Linus花了两周时间自己用C写了一个分布式版本控制系统,在2008 正式上线。(这里和Linux有一段黑历史)。 2.github的概念 github( https://github.com/ )是一个 面向开源及私有软件项目的托管平台 ,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。 github于2008年4月10日正式上线,除了Git代码仓库托管及基本的 Web管理界面以外,还提供了 订阅、讨论组、文本渲染、在线文件编辑器、协作图谱 (报表)、 代码片段分享 (Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails 、 jQuery 、 python 等。 2018年6月4日,微软宣布,通过75亿美元的股票交易收购 代码托管平台GitHub 。 2019年05月,《个人电脑杂志》网站报道

SVN常用命令

会有一股神秘感。 提交于 2020-01-17 06:35:19
SVN常用命令 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 简写:svn co 2、往版本库中添加新的文件 svn add file 3、将改动的文件提交到版本库 svn commit -m “LogMessage” [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关) 简写:svn ci 4、加锁/解锁 svn lock -m “LockMessage” [--force] PATH svn unlock PATH 5、更新到某个版本 svn update -r m path 简写:svn up 6、查看文件或者目录状态 1)svn status path(目录下的文件和子目录的状态,正常状态不显示) 2)svn status -v path(显示文件和子目录状态) 简写:svn st 7、删除文件 svn delete path -m “delete test fle” 简写:svn (del, remove, rm) 8、查看日志 svn log path 9、查看文件详细信息 svn info path 10、比较差异 svn diff path(将修改的文件与基础版本比较) svn diff -r m:n path(对版本m和版本n比较差异) 简写:svn di 11

GIT的使用

家住魔仙堡 提交于 2020-01-15 10:53:57
目录 GIT是什么 GIT和SVN的区别 管理方式的不同 权限管理的不同 版本控制的不同 优势 GIT的结构 GIT基本命令 初始化 设置签名: 分枝管理 GIT是什么 GIT是一种分布式版本控制工具。GIT是通过快照的方式管理文件的版本,即GIT保存了文件的所有版本,进而用户可以返回到如何操作前的版本。比如你不小心将一些GIT中的重要文件(非GIT的配置文件)删除了,你可以使用GIT回滚到删除前,就和没有删除一样,但是GIT会进行记录。 GIT和SVN的区别 管理方式的不同 GIT是通过快照的方式来管理文件,而SVN是通过增量式来管理文件。增量式是一种记录用户对文件修改的那个部分,不会记录文件重复的那个部分。当调用程序时,SVN会将原文件会修改部分叠加起来,组成最终的程序。 权限管理的不同 SVN是不允许不是同一个组的开发者修改代码。GIT允许不是同一个组的开发者修改代码,但是需要程序的拥有者审核同意后才能真正修改程序的代码。 版本控制的不同 GIT是分布式控制工具,而SVN是集中式控制工具。其管理方式如图 可以看的出来分布式的数据会比较安全,因为每个用户都有该项目的完整信息,如果有个用户的数据丢失了,可以利用别的用户来恢复。但是集中式需要确保服务器一直保持正常工作,不能出错,不然的话,数据就有可能丢失。 优势 大部分操作是在本地完成,不需要联网 保证上传信息的完整性

Windows下Git简单命令使用

▼魔方 西西 提交于 2020-01-14 17:30:17
文章目录 Git介绍 Git windows下载安装 Git本地库与远程仓库绑定 Git从服务端下载到本地 Git从本地提交到服务端 Git撤销操作 Git创建分支提交 Git删除文件 Git提交内容冲突处理 Git查看提交记录及版本 Git回退 Git多人协作 Git常用的基本命令 引用参考 Git介绍 Git是一个分布式版本控制系统,它没有中央服务器的定义,每个人的电脑都是一个完整的版本库。因此工作的时候可以不用联网,因为版本都是在自己的电脑上。而对于多人如何协作,比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。下图引用自https://blog.csdn.net/FireElement/article/details/9618363 Git windows下载安装 下载地址:(https://git-scm.com/download/win)根据提示点击下一步直到安装完成即可。安装成功后,会有Git Bash here 和 Git GUI Here 两个选项,Gui会有图形界面来进行git的操作, Bash则是通过命令行操作 Git本地库与远程仓库绑定 1、首先需要有一个github的账号,然后通过git bash生成一对公私钥并绑定 ssh-keygen -t rsa –C "git账号" /

Git 仓库结构 (一)***

筅森魡賤 提交于 2020-01-14 04:55:33
Git 仓库 1.1Git 基本概念 在Git中,我们将需要进行版本控制的文件目录叫做一个 仓库(repository) ,每个仓库可以简单理解成一个目录,这个目录里面的所有文件都通过Git来实现版本管理,Git都能跟踪并记录在该目录中发生的所有更新。 现在我们已经知道什么是repository(缩写repo)了,假如我们现在建立一个仓库(repo),那么在建立仓库的这个目录中有一个“.git”的文件夹。这个文件夹非常重要,所有的版本信息,更新记录,以及Git进行仓库管理的相关信息 全部保存在这个文件夹里面。所以,不要修改/删除其中的文件,以免造成数据的丢失。 进一步的讲解请参考下面一张图,大概展示出了我们需要了解的基本知识。      根据上面的图片,下面给出了每个部分的简要说明: Directory:使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间。 WorkSpace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间,除了.git之外的都属于工作区。 .git:存放Git管理信息的目录,初始化仓库的时候自动创建。 Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。 Local Repo:本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)。

git(程序员的时光机)

点点圈 提交于 2020-01-14 04:22:06
git 是什么 最强大的分布式版本控制系统,没有之一 版本控制: 完成一项任务,最终的成果可能是经过中间修修修改n次得到的,在这n个版本之间的切换就叫版本控制。 集中式的版本控制svn,cvs缺点: 需要联网,还很慢 git 主要特点: (1)直接记录快照,而不是记录差异 (2)几乎所有的操作都是本地完成,除了与远程仓库之间的互动需要联网,其他无需网络,而且git记录了之前做的所有操作,想看一个月之前的,无需将旧版本拉下来,git已经记录下来了 (3)git 保证完整性,git数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名,属于你的任何操作,git都很清楚 github:一个网站, https://github.com/ 基于git的代码托管仓库,某种程度上就是一种代码网盘,上面放着各种开源的代码(也有私有的仓库) Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 git的安装 centos系统 yum install -y git git初始化 mkdir git # 创建用于git管理的文件夹 git cd git # 进入该文件夹 git init # 将该文件夹变成一个本地可以管理的仓库,该文件夹下多一个.git的文件夹 用来管理版本库 配置git git config -

本地Linux服务器上配置Git

删除回忆录丶 提交于 2020-01-14 01:54:08
【创建版本库】   ①创建目录。选择一个合适的地方,使用: mkdir A 创建一个空目录A;   ②初始化。在A目录下,使用: git init 完成版本库的初始化;作为测试人员一般无需创建版本库,只需克隆远程版本库到本地测试服务器上即可。 【克隆远程版本库到本地服务器】   要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。   ① git clone git@git.******.com:frontend/A.git A (A为本地仓库名,路径为执行本命令的路径,名称尽可能与远程仓库名保持一致),若出现公钥不正确,则需要设置正确的公钥,参考另一篇随笔:【 本地Linux服务器上配置Git 】; 【添加文件到代码仓库】   ① git add <file> ,可反复多次使用,添加多个文件;   ② git commit -m “优化某某的一次提交” ,-m后面输入的是本次提交的说明,可以输入任意内容,当然 最好是有意义的,这样你就能从历史记录里方便地找到改动记录,注意git commit只负责把暂存区的修改提交,暂存区这个概念是Git区别于其他版本控制系统如SVN的一个不同之处。 【查看操作记录】   ① git log ,显示从最近到最远的提交日志,会详细显示commit,Author,Date,备注信息。   ② git log --pretty

git的基本介绍和使用

倾然丶 夕夏残阳落幕 提交于 2020-01-13 15:03:55
前言:从事iOS开发一年多以来,一直使用svn管理源代码。对svn的特点和弊端已经深有体会。前些天双十二前后,项目工期紧张到爆,起早贪黑的加班,可谓披星戴月,这还不止,回到家中还要疯狂的敲代码。那么问题来了,公司svn服务器是内网服务器,在家里无法访问,提交/更新代码就成了问题。跟技术总监(笔者公司为初创型小公司,直接和技术总监对话)沟通后,技术总监同意了把svn服务器改为外网服务器。但是,这并不是好的解决办法,毕竟svn服务器挂到外网上,从安全性上总是说不过去。于是乎,git成了我心中取代svn的上上策。昨天上班开会就跟CTO提出使用git管理代码的建议,他也愉快的答应了。 但是,多数人对git并没有像对svn这般了解,所以,针对于git和svn的特点和区别,我希望能够通过这篇文章拨开大家心中的疑惑。 简介 git是一款开源的分布式版本管理工具,git的诞生也是相当传奇的,由Linux之父-Linus Benedict Torvalds开发而来,当初Linus Benedict Torvalds仅仅是为了辅助Linux内核的开发才一并开发了这个至今为止世界上最快的、最简单的版本管理工具。关于这个传奇的故事,笔者就不在此赘述。 目前,git虽然很流行,但也仅仅是在国外。在国内,多数公司还在使用svn进行版本控制,不过不用担心,据笔者所知,已经有很多大公司(像BAT这样的互联网公司