版本控制系统

git基础

不问归期 提交于 2019-12-16 20:59:35
Git工具的使用 1.首先git不同于github,git是安装在本机的一款软件,但是github是一个托管代码的平台,安装git首先要去下载 linux上下载 sudo apt-get install git Mac上安装Xcode Command Line Tools 再去输入git命令即可 windows安装下载好之后会出现git GUI Here 和Git Bash Here 2.Git 工作区域分为 工作区 进行添加,编辑,修改文件操作, 接下来是暂存区,暂存已经修改好的文件最后统一提交到git仓库中去 git仓库区:最终确定的文件保存到仓库,成为一个新的版本,且对其他人可见 其中工作区add文件到暂存取,暂存区commit文件到仓库 3.Git的设置 设置用户名:gir config --global user.name github上面注册的用户名 设置用户邮箱 git config --global user.email “注册时候的邮箱” 最后通过git config --list 俩查看配置是否成功 4.git的基本操作: Mkdir filename 创建文件夹 Git init 在文件夹里面初始化git Touch indexheml 创建文件 Git add index.html 添加文件到暂存区 Git commit -m “提交到仓库” Git rm

Linux系统组建SVN服务器

允我心安 提交于 2019-12-16 15:42:45
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Linux系统组建SVN服务器 民工哥 民工哥技术之路 2016-11-29 Linux系统SVN服务 1、SVN服务介绍 SVN是一款非常优秀的版本管理工具,与CVS管理工具一样,SVN 是一种跨平台的开源的版本控制系统,它会备份并记录每个文件每一次的修改更新变动 官方网站:http://subversion.tigris.org http://subvsion.apache.org SVN客户端:http://tortoisesvn.net SVN中文网站:http://www.iusesvn.com SVN版本控制系统的工作流程: 1:在中央库上创建或主干复制一个分支 2:从中央库check out下这个分支的代码 3:然后进行修改,提交更新代码 2、SVN的安装 系统环境 [root@centos6 ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@centos6 ~]# uname -r 2.6.32-431.el6.x86_64 安装SVN服务 [root@centos6 ~]# rpm -qa subversion [root@centos6 ~]# yum install subversion Loaded plugins:

Git教案

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

工作区和暂存区

有些话、适合烂在心里 提交于 2019-12-15 09:52:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。 先来看名词解释。 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的 learngit 文件夹就是一个工作区: 版本库(Repository) 工作区有一个隐藏目录 .git ,这个不算工作区,而是Git的版本库。 Git的版本库里存了很多东西,其中最重要的就是称为 stage(或者叫index)的暂存区 ,还有Git为我们自动创建的第一个分支 master ,以及指向 master 的一个指针叫 HEAD 。 分支和 HEAD 的概念我们以后再讲。 前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的: 第一步是用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区; 第二步是用 git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支。 因为我们创建Git版本库时,Git自动为我们创建了唯一一个 master 分支,所以,现在, git commit 就是往 master 分支上提交更改。 你可以简单理解为, 需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。 俗话说,实践出真知。现在,我们再练习一遍,先对 readme.txt 做个修改

初步Git

半世苍凉 提交于 2019-12-15 03:09:16
目标 1、git与github介绍 2、下载安装Git-20-64-bit.exe 3、Git常用命令 git与github介绍 Git是什么 Git是一个开源的[分布式][版本控制系统],用于敏捷高效地处理任何或小或大的项目 版本控制器 CVS/SVN/Git SVN 客户端/服务器 GIT 客户端/代码托管网站(例如:github) 注1:类似的代码托管网站还有:github/码云/阿里云Code源码管理 注2:类似的技术GitLab,但它与GitHub又有一定的区别 GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源。与Github类似,可以注册用户,任意提交你的代码,添加SSHKey等等。 不同的是,GitLab是可以部署到自己的服务器上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发, 你总不可能把团队内部的智慧总放在别人的服务器上吧?简单来说可把GitLab看作个人版的GitHub。 Git与SVN区别(重点记录1/2/3点) 1、去中心化 GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。 2、git仓库的任何一个拷贝都可以独立作为一个服务器来使用 3、在Git中文件有四种状态: 未跟踪(untrack):表示文件为新增加的 已修改(modified):表示修改了文件

关于Git的用法

自闭症网瘾萝莉.ら 提交于 2019-12-14 16:32:36
关于Git     Git 是一个分布式版本控制软件,与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便,以便将来查阅特定版本修订情况。 关于配置Git    共有三种级别的配置:系统级别(system)、全局配置(golbal)、仓库级别。   系统级别:系统上每个用户及他们创建的仓库的通用配置。 --system   全局配置:只针对当前用户的配置。 --global,保存到~/config文件   仓库级别:针对当前仓库的配置,配置信息会被保存到当前仓库的.git/config文件中 常用命令   git config --list   查看所有的配置   git config --global user.name"name"  设置附加到提交事务的名字   git config --global user.email"Email"   设置附加到提交事务的邮箱   git config --global color.ui auto     其用命令行输出的帮助信息着色方案   git config --global core.editor"notepad"  配置记事本为命令输入工具   git diff                查看修改内容 Git创建仓库  

git高级

点点圈 提交于 2019-12-14 04:23:02
版本控制篇 本地版本控制 由于采取copy方式的这种备份方式会很容易出错,为解决这个问题,出现了很多本地版本的控制系统,大多数都是采用简单的数据库来记录文件的历次更新差异。 RCS:最流行的一种本地版本控制软件,甚至现在流行的Mac OS X系统上安装了开发者工具包之后,也可以使用rcs命令。 它的工作原理是在硬盘上保存补丁集(补丁是指文件修订前后的变化);通过应用所有的补丁,可以重新计算出各个版本的文件内容。 集中化的版本控制系统 接下来又遇到一个问题,如何让在不同系统上的开发者协同工作? 于是,集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS)应运而生。 这类系统,诸如 CVS、Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。 多年以来,这已成为版本控制系统的标准做法。 这种做法带来了许多好处,特别是相较于老式的本地 VCS 来说。 现在,每个人都可以在一定程度上看到项目中的其他人正在做些什么。 而管理员也可以轻松掌控每个开发者的权限,并且管理一个 CVCS 要远比在各个客户端上维护本地数据库来得轻松容易。 这么做最显而易见的缺点是中央服务器的单点故障。 如果宕机一小时,那么在这一小时内

SVN 一

a 夏天 提交于 2019-12-12 16:26:29
Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统 SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。 SVN 的一些概念 repository(源代码库): 源代码统一存放的地方 Checkout(提取): 当你手上没有源代码的时候,你需要从repository checkout一份 Commit(提交): 当你已经修改了代码,你就需要Commit到repository Update (更新): 当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更 日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了) 。 如果两个程序员同时修改了同一个文件呢, SVN 可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序

sourcetree的使用方法

落爺英雄遲暮 提交于 2019-12-12 13:24:18
之前在协同开发中遇到过这样的一个问题,在使用git合并代码时会覆盖掉其他同事的代码,刚开始接触的时候用的是命令行,后台开始用IDEA自带的git插件,今天第一次用到SourceTree,操作起来挺方便的! 一 、SourceTree简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial和Subversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。 二、下载安装SourceTree步骤 1、下载地址: https://www.sourcetreeapp.com/ ,该版本是中文的 下载完成后可以进行安装。 2、安装SourceTree 安装首界面 点击,Next 点击“install”,安装完成后,打开sourcetree,点击“user an existing account”,如图 注意:1使用谷歌帐号登录即可,前提是你必须可以上谷歌才可以。 GOOGLE帐号登录完成之后,如图: 此处无需设置,直接点击“跳过初始设置”即可。 登录注册成功后,弹出设置puttykey的界面,点击“取消”即可。 点击“取消”按钮,弹出如下提示框: 此时进入到sourcetree的主界面,现在就可以使用sourcetree啦。 三、集成文件对比插件

Git E盘有相应的文件自己去查看

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