版本库

三、git学习之——管理修改、撤销修改、删除文件

一世执手 提交于 2020-03-24 07:13:39
一、管理修改 现在,假定你已经完全掌握了暂存区的概念。下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。 你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。 为什么说Git管理的是修改,而不是文件呢?我们还是做实验。第一步,对readme.txt做一个修改,比如加一行内容: $ cat readme.txt Git is a distributed version control system. Git is free software distributed under the GPL. Git has a mutable index called stage. Git tracks changes. 然后,添加: $ git add readme.txt $ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: readme.txt # 然后,再修改readme.txt: $ cat readme.txt Git is

git教案-v2.0

被刻印的时光 ゝ 提交于 2020-03-18 18:19:11
1 Git历史 同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用分布式版本控制系统 BitKeeper 来管理和维护代码。 到 2005 年的时候,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux的缔造者 Linus Torvalds )不得不吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。他们对新的系统订了若干目标: • 速度 • 简单的设计 • 对非线性开发模式的强力支持(允许上千个并行开发的分支) • 完全分布式 • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量) 2 Git与svn对比 2.1 Svn SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就郁闷了。

Git详细教程(1)---个人Git的基本使用

╄→尐↘猪︶ㄣ 提交于 2020-03-18 09:03:40
分布式版本控制系统--git 一. 什么是 Git 1. Git 是什么 Git 是目前世界上最先进的 分布式 版本控制 系统(没有之一)。 实际上版本控制系统有如下几个: 1) CVS 2) SVN 3) Git 这个概念中有两个疑问: 1. 什么是版本控制 2.什么是分布式? 2. 为什么需要 Git 大家熟悉的一个场景:论文 类似的场景,在软件开发中更为普遍。 分组完成项目的时候 1)多人协作,是如何完成的? 2)开发自己的任务的时候,从写第一行代码开始到整个结束,有没有来回修改? 如何来解决这些问题呢? 早期,在项目规模还没有那么大的时候,大家制定一些规则,手动解决就行。 随着软件和项目规模的增大,这种手动方式,效率太低,问题太多,不能满足开发的需求。 需要有相应的工具来解决 --- 于是就出现了 版本控制系统。 1)CVS ,功能比较弱,现在很少使用 2)SVN ,功能比较完善,使用比较多 3)Git ,功能最强大的,也是最受欢迎的。 所以,版本控制可以帮助我们实现两件事情: 1)自动记录每次的修改,并且可以方便的切换到任一版本 2)可以完成多人协作开发 3. Git 和 GitHub 有何区别 Git ,是一个版本控制系统,实际上是一个 工具 ,大多数都是基于命令行的。 GitHub ,是一个使用 Git 作为版本控制的托管代码的网站, 平台 。 重点在于学习 Git

SVN服务器详细权限控制

南笙酒味 提交于 2020-03-14 18:09:25
版权声明:本文为博主原创文章,未经博主允许不得转载。 下面是我配置SVN服务器的过程,现在把我所配置的方法,记录下来,以供其他有需要的朋友参考,需要改进的地方,请指教! 一 环境   操作系统:windows2003 server   Apache:httpd-2.2.22-win32-x86-no_ssl.msi subversion: Setup-Subversion-1.7.8.msi   TortoiseSVN: TortoiseSVN-1.7.11.23600-win32-svn-1.7.8.msi 二 安装步骤 1.安装Apache 如果您已经拥有Apache的安装程序,那么你就可以双击安装程序开始安装。请确保你输入正确的服务器URL(如果你的服务器没有域名,你可以直接输入IP地址,邮箱可以随便写一个)。我建议你将Apache安装成 for all Users,on Port 80,as a service。注意:如果你已经有一个IIS或者其它的程序使用80端口,安装可能会失败。如果是这样,你可以到程序目录下的Apache Group"Apache2"conf目录中找到文件httpd.conf,将其中的Listen 80改成一个不用的端口,比如Listen 8888。然后重新运行这个安装程序,这次应该不会再有问题了。 如何 测试Apache是否安装成功?

分布式版本控制系统——Git

孤街醉人 提交于 2020-03-12 13:00:34
分布式相比于集中式的最大区别在于开发者可以将代码提交到本地,每个开发者通过克隆,在本地机器上拷贝一个完整的git仓库。 下图是经典的git开发过程: git的功能特性如下: 从服务器上克隆完整的git仓库(包括代码和版本信息)到单机上; 在自己的机器上根据不同的开发目的,创建分支,修改代码; 在单机上自己创建的分支上提交代码; 在单机上合并分支; 把服务器上最新版的代码fetch下来,然后跟自己的主分支合并; 生成补丁,把补丁发送给主开发者; git可以安装在Windows、mac、Linux等操作系统之上,这里将写下如何安装在Linux系统之上,及其基本操作。 一、安装git 非常简单,就一条命令,如下: [root@git ~]# yum -y install git 二、git库的创建及介绍 [root@git /]# mkdir /git [root@git /]# cd git/ [root@git git]# git init # 初始化为git库 Initialized empty Git reposi tory in /git/.git/ [root@git git]# ls -a #初始化成功后,会生成一个.git的隐藏目录 . .. .git #生成的隐藏目录是用来跟踪管理版本库的,不建议随便修改其目录中的文件, #如果改乱了,就把git库给破坏了。

Git超详细图文教程系列(开篇)

偶尔善良 提交于 2020-03-05 23:37:27
Git安装 Git官网下载地址: https://git-scm.com/ Windows版本的Git安装除了安装路径需要修改一下,其他的地方都可以默认,然后一直next就安装完成了。 安装完之后,我们在Windows任意位置右键,如果出现下面红色框中的选项,就说明Git安装成功了。 我们点击Git Bash Here,然后输入 Git --version ,就能看到我们安装Git版本了。 Git简介 Git是一个开源的 分布式版本控制系统 ,可以有效、高速地处理从很小到非常大的项目版本管理。 什么是版本控制系统? 举个栗子: 我们今天上班敲了一天代码,然后关机下班。明天来的时候,可能因为某个原因要修改代码。修改之后发现,怎么比之前的还差。于是又得修改,一直一直修改下去,最后不知道修改了多少次,到头来可能觉得还是最初的代码写的好,最直接的方法就是手动敲代码恢复到最初的代码,这个过程实在是难受,于是Git就被广泛使用了。因为Git是版本控制系统,只要我们把代码交给了Git,我们就相当于拥有的后悔药,可以把代码恢复到任意的版本。Git还有一个特性就是 分布式 (这个接下来就会讲到),由于这个特性,SVN逐渐被Git取代了。 Git与SVN的区别 上面我们说了Git是分布式的版本控制系统,而SVN是集中式的版本控制系统,下面画个图来讲解它们的区别: 首先

SVN库迁移整理方法总结

别来无恙 提交于 2020-03-05 20:22:48
以下是subversion官方推荐的备份方式。 关闭所有运行的进程,并确认没有程序在访问存储库(如 httpd、svnserve 或本地用户在直接访问)。 备份svn存储库 #压缩备份 svnadmin dump /home/workhome/svn/repository | gzip > ~/repository-backup.gz #不压缩备份 svnadmin dump /home/workhome/svn/repository > ~/repository-backup.svn 恢复svn存储库 #建立新的svn存储库 svnadmin create /home/workhome/svn/newrepository #确认成功与否 ls -l /home/workhome/svn/newrepository #导入存储库数据 svnadmin load /home/workhome/svn/newrepository < ~/repository-backup.svn SVN数据库迁移方法一 称之为SVN全库操作,或称SVN全局备份并恢复,版本库数据的移植:svnadmin dump、svnadmin load 导出: $svnadmin dump repos > dumpfile //将指定的版本库导出成文件dumpfile 新建: $svnadmin create

如何安装SVN、配置服务自启,以及在Eclipse中使用SVN

心不动则不痛 提交于 2020-03-05 13:30:22
>>本文会尽所能将其中的步骤都描述清楚,并配上一些截图以便帮助初识SVN的朋友更好更快的理解和上手。 >>什么是版本控制 版本控制 , Revision control ,其实最初的时候是应用在工程设计领域,其目的是为了维护工程蓝图的标准,追踪工程蓝图从 诞生到​最终确定的过程。 用以记录文件的内容变化,以便查询修改情况。 Subvesion 就是实现了版本控制的一项工具,简称SVN ,与Tomcat一样,同属于Apache软件基金会组织旗下。​ 关于SVN的 一些优良特性、工作原理诸如此类理论云云,完全可以在互联网上找到无数一模一样(or相去甚远也不一定)的说法。在此就​不过多累述这一部分。 本文会着重写明如何使用SVN。 >>SVN的基本操作 检出 (checkout) : 将一个服务器端创建好的项目完整的Down到自己的计算机上使用的,这是后参与项目开发的第一步,一般 只执行一次。 更新(update):​通常情况下都是在结束了一整段提交工作之后,当再次开始开发时,会先执行一次update将本地文件更新 ​为服务器端的最新版本。 提交(commit)​:将本地修改提交到服务器端。通常为实现一个功能、完成一个模块时执行一次提交。​​ >>SVN的安装与配置   安装服务器端程序    Apache维护更新的是Subversion的源码

git和svn的区别

梦想与她 提交于 2020-03-01 16:47:50
git是分布式的,svn不是。 git和svn一样有自己的集中式版本库或服务器。但git更倾向于被使用分布式模式,克隆版本库后即使没有网路也能commit文件,查看历史版本记录,创建项目分支等,等网络再次连接上Push到服务器端。 git把内容按元数据方式存储,而svn是按文件。 所有的资源控制系统都是把文件的元信息隐藏在一个类似svn、cvs等的文件夹里。 git目录是处于你机器上的一个克隆版的版本库,他拥有中心版本库上所有的东西,例如标签,分支,版本记录等。 git没有一个全局的版本号,而svn有。 git的内容完整性优于svn。因为git的内容存储使用的是哈希算法。 git可以有无限个版本库,svn只能有一个中央版本库。 当svn中央版本库有问题时,所有工作成员都一起瘫痪直到版本库维修完毕或者新的版本库设立完成。 每一个git都是一个版本库,区别是他们是否拥有活跃目录。如果主要版本库有问题,例如置於GitHub版本库,工作成员仍然可以在自己的本地版本库提交,等待主要版本库恢复即可。工作成员也可以提交到其他的版本库! 来源: CSDN 作者: W__Russell 链接: https://blog.csdn.net/W__Russell/article/details/104592762

git的学习笔记

血红的双手。 提交于 2020-02-29 18:39:06
一、Git文件的四种状态   1.untracked : 未被追踪的   2. modified(改进的) : 表示已经修改,和版本库有区别   3. staged : 表示把工作区修改的文件添加到暂存区但并没有提交到版本库   4. commited : 表示数据安全的存储在本地库中 二、git 常用命令   1.git init : 初始化git仓库,然后出现.git的文件   2.git config user.name zhangshunwei    git config user.email 1418984979@qq.com    git config --list : 查看git的配置信息   3.git add : 把文件添加到暂存区    git add . : 把所有工作区文件进行提交   4.git status : 查看项目文件状态    git status -u : 可以查看文件夹里面的文件   5.git commit : 把文件添加到本地库 git commit -m " 提交添加的提示语"   6.git log : 查看提交的记录    git log --oneline : 每次提交只查看一行的关键信息    git log -7 -p : 查看最近7次的提交具体的信息    git log -p : 可以具体查看添加的信息 三、git撤销指令