版本控制

centos7 搭建SVN 以及client使用指南(Tortoise)

廉价感情. 提交于 2019-12-08 12:38:13
1:server搭建转载: https://blog.csdn.net/helijie92902/article/details/51935122?foxhandler=RssReadRenderProcessHandler 2:client搭建转载:https://blog.csdn.net/maplejaw_/article/details/52874348 这篇文章源于6月份给公司新人作的关于SVN使用的培训,转眼已经过了几个月的时间,丢了也怪可惜的,于是整理出来希望能够帮助后来人快速入门。 安装说明 使用说明 检出项目 导入项目 提交 更新 查看日志 版本回滚 版本控制 总结 安装说明 开发人员强烈建议使用IDE中的SVN插件更加智能与人性化。 首先安装SVN客户端,windows一般选择乌龟客户端 https://tortoisesvn.net/downloads.html 。(包含语言包) 根据系统位数选择相应客户端进行安装。 如果你喜欢用命令行操作,请务必记得勾选 command line client tool 为 will be install on local hard driver ,不用命令行的跳过这一步。 然后一路next即可安装。安装完毕后,在任意地方右键查看快捷菜单。发现 TortoiseSVN 即表示安装成功。 如果勾选了安装命令行工具

Linux 搭建 SVN 服务器

风流意气都作罢 提交于 2019-12-08 12:29:11
在搭建svn服务器之前我们必须要明白 为什么要使用svn: 是为了版本控制 那什么是版本控制: 版本控制是一种软件工程技巧,借此能在软件开发中确保不同人所编辑的同一 代码文件都能得到同步。 版本控制的其他作用:版本控制可以让版本库中的任意一个文件恢复到任意一 个历史 版本,而且还可以追溯任意版本中任意一行在什么时候被什么人修改过 , 版本控制还可以随时恢复以前某个版本. 1 并发修改: 多个开发人员同时对同一个文件进行修改 (重要) 2 并发提交: 版本控制中的版本记录,是需要开发人员的提交操作来触发的,也就是说只有 提交才会记录版本号,否则不会记录版本号;如果修改了多个文件后提交那么 CVS 会一个一个提交,每个文件被修改后都会记录一个不同版本号,而 SVN 和 GIT 可以同时提交多个文件的修改,而且这一次被修改的多个文件记录的是 同一个版本号;那么这两种方式各有优缺点,每个文件都会记录一个版本号, 就会占用很大的磁盘空间,但是定位 BUG 十分方便只需定位版本号中即可, 但 SVN 和 GIT 就需要从批量的文件中查找,十分困难。 3 历史轨迹: 如果说一个文件的文件名称被修改了那么 CVS 就无法追踪到修改文件名之前的 版本了但 SVN 和 GIT 依然可以追踪所有的历史版本。 4 分布式: 指的是是否需要一台专门的服务器来运行版本控制系统, CVS,SVN 是集中式

GIT 传输协议实现

微笑、不失礼 提交于 2019-12-07 15:59:58
GIT 传输协议实现 在 GIT 的三种主流传输协议 HTTP SSH GIT 中,GIT 协议是最少被使用的协议(也就是 URL 以 git:// 开始的协议)。 这是由于 git 协议的权限控制几乎没有,要么全部可读,要么全部可写,要么全部可读写。所以对于代码托管平台来说, git 协议的目的仅仅是为了支持 公开项目的只读访问。 在 git 的各种传输协议中,git 协议无疑是最高效的,HTTP 受限于 HTTP 的特性,传输过程需要构造 HTTP 请求和响应。 如果是 HTTPS 还涉及到加密解密。另外 HTTP 的超时设置,以及包体大小限制都会影响用户体验。 而 SSH 协议的性能问题主要集中在加密解密上。当然相对于用户的信息安全来说,这些代价都是可以接受。 git 协议实际上相当于 SSH 无加密无验证,也就无从谈起权限控制,但实际上代码托管平台内部的一些同步服务,如果使用 git 协议实现,将会得到很大的性能提升。 传输协议规范 git 协议的技术文档可以从 git 源码目录的 Documentation/technical 找到,即 Packfile transfer protocols 创建 TCP 连接后,git 客户端率先发送请求体,请求格式基于 BNF 的描述如下: git-proto-request = request-command SP pathname

svn设置忽视某个文件夹不提交

不羁岁月 提交于 2019-12-07 14:33:58
在多数项目中你总会有文件和目录不需要进行版本控制。这可能包括一些由编译器生成的文件,*.obj,*.lst,或许是一个用于存放可执行程序的输出文件夹。只要你提交修改,TortoiseSVN 就会在提交对话框的文件列表中显示出未版本控制文件。当然你可以关闭这个显示,不过你可能会忘记添加新的源文件。 最好的避免类似问题的方法是添加参考文件到该项目的忽略列表。这样他们就永远不会出现在提交对话框中,而真正的未版本控制文件则仍然列出。 1. 方法一 在 Eclipse 中点击菜单 window --> Preferences --> Team --> Ignored Resources 点击 Add Pattern… 按钮添加你要忽略的文件或目录。 2. 方法二 在Eclipse的导航视图中,选中尚未加入版本控制的文件或目录,右键 --> Team --> 添加至SVN:ignore 3. 方法三 在资源管理器中,右键一个未加入版本控制文件或目录,并从弹出菜单选择TortoiseSVN →Add to Ignore List,会出现一个子菜单,允许你仅选择该文件或者所有具有相同后缀的文件。 如果你想从忽略列表中移除一个或多个条目,右击这些条目,选择TortoiseSVN →从忽略列表删除。 4. 方法四 另一个忽略文件的方法是添加这些文件到globalignore list

Git使用教程

孤街浪徒 提交于 2019-12-07 12:40:24
一:Git是什么?   Git是目前世界上最先进的分布式版本控制系统。   二:SVN与Git的最主要的区别?   SVN是集中式版本控制系统,版本库是集中放在中央 服务器 的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。   Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。   三:在windows上如何安装Git?   msysgit是 windows版的Git,如下:   需要从网上下载一个,然后进行默认安装即可。安装完成后,在开始菜单里面找到 "Git --> Git Bash",如下:   会弹出一个类似的命令窗口的东西,就说明Git安装成功。如下:   安装完成后,还需要最后一步设置,在命令行输入如下:   因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。  

git .gitignore不生效

你说的曾经没有我的故事 提交于 2019-12-07 11:36:27
原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。 解决方法: 1.先把规则写好,然后把规则对应的文件删了,然后再提交,然后再把删的文件放回来,这样本地就不会再提交这个文件,然后服务上被忽略的文件还需要手动再上传一次。 2.就是先把本地缓存删除(改变成未track状态),然后再提交(文件忽略了,在你本机不会再上传,同时服务器上相关的文件也会被删除,需要你用其他方法再上传一次,然后服务器上就也忽略了): git rm -r --cached . git add . git commit -m 'update .gitignore' 那好,如何正确使用.gitignore呢?这也是一门大学问。是不是项目做到一半,然后再添加.gitignore呢?不是的,最好的是你项目刚创建,项目还没有进行git版本控制的时候,首先在项目目录下加入.gitignore文件,即首先对.gitignore进行版本控制,然后在对项目进行版本控制。但是如果你是后来才加入.gitignore呢?就可能会出现如下问题: 或者.DS_Store等文件不断的提醒我又被修改了。。。只是因为这些文件先于.gitignore进行版本控制了。此时你可以使用如下命令来让.gitignore忽视它: git rm --cached -r 文件名

SVN本地开发、测试环境版本控制-自动发布生产环境

一笑奈何 提交于 2019-12-07 10:59:48
发布系统 由于网站的结构是基于lnmp的,所以我们主要的代码都是php代码,之前在大网站的时候,一般会有比较严格的流程和比较严格的打包发布机制,比如Yahoo的 yinst package, 但是对于初创团队来说有些重了,这里我们直接使用svn进行代码的管理和发布。 虽然系统环境不复杂,但是我们还是分为开发环境,测试环境(beta),和生产环境(线上),开发环境我们在自己的机器上搭建,我的是 Ubuntu的系统,everfly是MacOS的系统,测试环境在和svn服务同一台服务器上,我们使用svnseve的post-commit 功能实现了一旦我们提交了代码,服务器会自动将代码部署到beta环境的web服务器上, 在生产环境则是直接使用svn export进行部署,整个流程还是非常简单的。 注意,有的时候我们在生产环境和开发环境的时候需要执行不同的逻辑,比如针对html内部引用的javascript代码,为了节省流量(当然 还有一个原因是代码写的太丑了,不想让大家看到笑话),在生产环境上,我们使用了jsmin进行压缩,但是在本机进行开发的时候,为了调试前端代码方便, 不能对javascript代码进行压缩,所以我们通过设置环境变量,然后在代码中检测环境变量的方式解决了这个问题,由于环境变量是设置在web server或者php-fpm的配置中的,所以线上和开发环境可以保持同一份代码

【原创】Git版本控制器的基本使用

☆樱花仙子☆ 提交于 2019-12-07 02:09:55
关于git Git,是一个分布式版本控制软件。最初本是为了更好的管理Linux内核开发而被林纳斯·托瓦兹开发,后来因为项目开发中版本控制的强烈需求,而git也日趋成熟,最终成为了一个独立的版本控制软件。 git使用方法 创建远程仓库 建立远程仓库,说得白话一点就是在代码托管服务器上给我分配一片可远程访问的空间。其实跟git的使用没有直接的关系,但是为了更好的说明问题,咱就稍微啰嗦下。 目前支持git的代码托管服务很多,名气最大的莫过于 Github ,其他还有 GitLab 、 Bitbucket 、 CSDN-CODE 、 Git@OSC 等等。我们先来说说为什么需要代码托管服务器,无论我们开发的是个人项目还是团队项目,从长远来看,将代码托管到远程服务器上都是比较好的选择。理由很容易想到: 1、方便多人(有权限)共享,团队开发尤为重要; 2、不怕更换电脑,公司和家里或出差,只要有电脑就可以访问; 3、不怕硬盘损坏代码丢失; 4、其他还有很多。 基于以上代码托管服务器,建立一个远程仓库非常简单,以Github为例,打开 https://github.com首页登录进去后,页面右上角有一个“+”图标,鼠标点上去就看到如图所示的样子: 点击红框标示的那个连接,然后填写关键信息,根据提示就创建好了。 创建本地代码库(init) 本地代码库,其实就是我们的代码目录

超级详细的git使用指北

冷暖自知 提交于 2019-12-06 15:56:27
原文地址:https://www.cnblogs.com/wupeixuan/p/11947343.html 1.0 安装和配置 1.1 Git 安装 1.2 Git 配置 2.0 Git 基本版本控制 3.0 处理文件 4.0 分支与合并 5.0 修复错误和回溯 6.0 对 Git 有用的提示和技巧 Git 是一个版本控制系统,是任何软件开发项目中的主要内容。通常有两个主要用途:代码备份和代码版本控制。你可以逐步处理代码,在需要回滚到备份副本的过程中保存每一步的进度! 常见的问题是 Git 很难使用。有时版本和分支不同步,你会花很长时间试图推送代码!更糟糕的是,不知道某些命令的确切工作方式很容易导致意外删除或覆盖部分代码! 这就是我写本文的原因,从而学习到如何正确使用 Git,以便在开发中共同进行编码! 1 | 0 安装和配置 1 | 1 Git 安装 首先,我们必须安装 Git 才能使用它!这里分 Linux 和 Windows 来演示: 在 Linux 上安装 Git 我们可以使用 yum 轻松快速地做到这一点: sudo yum install git 在 Windows 上安装 Git 直接在 https://git-scm.com/downloads 里面,下载最新版的 Git,默认安装就可以了。 安装完成后,在开始菜单里找到 Git->Git Bash

06.Linux系统-GitLab版本控制服务安装部署

纵然是瞬间 提交于 2019-12-06 13:58:07
官方文档:https://about.gitlab.com/install/#centos-7 1.yum install -y curl policycoreutils-python openssh-server 2.systemctl start sshd 3.yum install postfix 4.systemctl start postfix 注:报错就改/etc/postfix/main.cf-->inet_interfaces = all 5.curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | bash 6.EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee 建议下载对应版本然后yum install -y xxxxx 在修改/etc/gitlab/gitlab.conf中的EXTERNAL_URL 首先修改gitlab.rb文件再进行加载配置文件,不然会冲突 gitlab命令:gitlab-ctl reconfigure 刷新加载配置文件 gitlab-ctl stop/statr/status 注: 首先呢 如果是个空机器什么都不用管 域名映射直接访问就行了