Java微信公众号开发(五)—— SVN版本控制工具

1  作用

两个疑问:

  1. 什么是版本控制?
  2. 为什么要用版本控制工具?

作用:

  1. 受保护
  2. 受约束

合作开发中,版本控制工具更重要的作用就是让开发者更好地协作,每个人的代码既能互相调用,来共同完成一个较大的功能,又不会互相之间产生冲突。

至于用哪个工具去控制并不重要,工具只是个手段,只要这个工具能够让开发者们协作工作就可以。

2  SVN介绍

  • SVN客户端:TortoiseSVN:http://tortoisesvn.net/downloads.html
  • SVN服务端:VisualSVN:http://www.visualsvn.com/server/download

先安装服务端(需有可视化界面和PATH路径),注意安装路径和仓库路径。

注:仓库:所有上传的代码都在仓库中,若服务器仓库中的代码丢了,那就是真的丢了,找不回来。

如果仅仅是为了上传代码发布网页,则只需安装客户端就可以了。

3  使用

客户端安装完毕后,在需要存储代码的文件夹下右击鼠标,会有一个“SVN Checkont”,点击(只有第一次从服务器端获取代码,需要使用此选项)。

填写服务器端仓库的URL及下载到本地的存储路径,OK即可:

在本地仓库添加代码后,在文件夹下右击“SVN Commit”就可以上传代码到服务器了。

注:在本地仓库文件夹下新增、修改、删除文件,都属于本地操作,不属于SVN操作。也就是说,所有SVN操作必定是从右击“SVN Commit”下进行的

本地与服务器一致的文件,通常左下角会带有一个绿色的“√”,不一致的是红色的“×”。

“SVN Update”是从服务器端下载代码的。

可以这样理解,团队合作时,每天早上都要“SVN Update”从服务器端下载最新的程序,每天下班都要“SVN Commit”上传修改的代码。

需要注意,“TortoiseSVN”中的“Show log”可以查看历史版本、修改人、修改时间等各种记录。

转载于:https://www.cnblogs.com/qijunhui/p/8445376.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux之《荒岛余生》(二)CPU篇

为什么80%的码农都做不了架构师?>>> 温馨提示,动图已压缩,流量党放心查看。CPU方面内容不多,我们顺便学点命令。本篇是《荒岛余生》系列第二篇,垂直观测CPU。其余参见: Linux之《荒岛余生》&am…

PTA 06-图2 Saving James Bond - Easy Version (25分)

题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/672 5-10 Saving James Bond - Easy Version (25分) This time let us consider the situation in the movie "Live and Let Die" in which James Bond, the worlds most famous spy, was captured by…

Ubuntu16.04上安装kitti2bag

kitti2bag是一个可以将kitti数据集转换为bag文件的工具,可以直接通过pip进行安装。由于kitti2bag中使用到ros,所以安装时你使用的python版本应该是2.7的因为ros只有在Python2.7时才能正常工作。比如说我,我安装了conda,在conda中安…

Nginx之windows下搭建

去nginx.org下载nginx 以nginx-1.8.1为例解压到D盘nginx-1.8.1目录 假设NGINX_HOME为D:\nginx-1.8.1 3种启动途径: 一、双击nginx.exe图标,可见黑窗口一闪而过,启动完毕。 二、命令行到nginx目录,输入nginx启动。(注&a…

单片机错误笔记

记录下使用单片机过程中的一些错误,便于以后查询: 单片机型号:STC15F2K60S2 晶振:18.432 报错代码: *** WARNING L1: UNRESOLVED EXTERNAL SYMBOLSYMBOL: REC_DAT1MODULE: .\Objects\usart.obj (USART) …

软件开发记录03

今天我完成了软件设置&#xff0c;预算列表&#xff0c;添加预算的页面布局。 &#xff08;1&#xff09;软件设置 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"…

395. Longest Substring with At Least K Repeating Characters

题目要求 Find the length of the longest substring T of a given string (consists of lowercase letters only) such that every character in T appears no less than k times.Example 1:Input: s "aaabb", k 3Output: 3The longest substring is "aaa&qu…

UICollectionView 具体解说学习

UICollectionView 和UITableView非常像,是APPLE公司在iOS 6后推出的用于处理图片这类UITableView 布局困难的控件,和UITableView 一样,它也有自己的Datasource和delegate。以下具体说下像这种方式的效果. 首先来看看UICollectionView 的DataSource。protocol UICollectionView…

70.文件异常

ferror检测文件异常perror提示文件错误信息clearerr清除异常,让文件指针回到开头完整代码 1 #define _CRT_SECURE_NO_WARNINGS2 #include<stdio.h>3 #include<stdlib.h>4 //perror提示文件错误信息5 //ferror检测文件异常6 //clearerr清除异常,让文件指针回到开头…

ServiceNow 中关于UI Action 在portal端的使用

在 portal端是可以使用Form和UI Action的&#xff0c;例如&#xff1a;var data.f $sp.getForm()&#xff1b;//需要添加上相应参数在开箱组件Form的Server script中就有如下代码&#xff1a;data.f $sp.getForm(data.table, data.sys_id, data.query, data.view);data.f对象中…

特殊密码锁

总时间限制: 1000ms内存限制: 1024kB描述有一种特殊的二进制密码锁&#xff0c;由n个相连的按钮组成&#xff08;n<30&#xff09;&#xff0c;按钮有凹/凸两种状态&#xff0c;用手按按钮会改变其状态。 然而让人头疼的是&#xff0c;当你按一个按钮时&#xff0c;跟它相邻…

系统安全题目(二)

1、在 php mysql apache 架构的web服务中输入GET参数 index.php?a1&a2&a3 服务器端脚本 index.php 中$GET[a] 的值是&#xff1f;正确答案: C A 1B 2C 3D 1,2,3 2、以下哪些不是CSRF漏洞的防御方案&#xff1f;正确答案: D A 检测HTTPrefererB 使用随机tokenC 使用验…

转发和重定向的区别?

实际发生位置不同&#xff0c;地址栏不同 转发是发生在服务器的 转发是由服务器进行跳转的&#xff0c;细心的朋友会发现&#xff0c;在转发的时候&#xff0c;浏览器的地址栏是没有发生变化的&#xff0c;在我访问Servlet111的时候&#xff0c;即使跳转到了Servlet222的页面&a…

BZOJ3795 : 魏总刷DP

对于HARD&#xff1a; 需要满足$ku[i]\times k\leq Tlate[i]$。 对于EASY&#xff1a; 需要满足$ku[i]\times k\leq T-rest[i]$。 故对于HARD&#xff0c;设$a[i]-late[i]$&#xff0c;对于EASY&#xff0c;设$a[i]rest[i]$&#xff0c;并将所有题目的$u[i]$都$1$。 那么需要满…

信息学竞赛相关优秀文章合集[持续更新]

线段树详解 &#xff08;原理&#xff0c;实现与应用&#xff09;可持久化线段树 简介 运用伸展树解决数列维护问题.pdfSplay 学习笔记&#xff08;一&#xff09;Splay 学习笔记&#xff08;二&#xff09;Splay 学习笔记&#xff08;三&#xff09; 请要相信我&#xff0c;30…

ceres-solver学习笔记

前一段时间总有一个想法&#xff0c;那就是&#xff0c;我只直到视觉slam是远远不够的&#xff0c;激光slam仍然是一个比较稳妥的技术&#xff0c;好落地&#xff0c;应用广泛&#xff0c;我想着&#xff0c;如果我学会了会大大增加自己的核心竞争力&#xff0c;所以我抽时间开…

几款常见的视频格式转换器

在短视频占半壁江山的时候&#xff0c;关于体积、格式等成了困扰人们的因素&#xff0c;视频太大不利于传播&#xff0c;比如微信里就限制了传输的大小不得超过20M&#xff0c;所以其实说起来工作上QQ的性能远超微信。今天这里小编给大家总结几款常用的视频转换器&#xff0c;希…

PHP Shell生成工具Weevely

PHP Shell生成工具WeevelyWeevely是一款模拟Telnet连接的PHP Shell工具。它不提供网页形式的接口&#xff0c;而是提供一个命令形式的终端。渗透测试人员首先使用该工具生成对应的PHP网页。然后&#xff0c;将该网页上传到目标Web服务器上。渗透人员就可以在终端连接该页面&…

ceres学习之平面拟合

背景&#xff1a;orb-slam2最终保存的轨迹形成的平面是一个倾斜的&#xff0c;这个与相机初始化位置有关&#xff0c;但是有些时候&#xff0c;我们需要的是一个2d的轨迹的试图&#xff0c;直接将轨迹向某一个平面投影的话。 得到的估计是失真的&#xff0c;所以我们需要对轨迹…

二维树状数组模板(区间修改+区间查询)

二维树状数组模板(区间修改区间查询) 例题&#xff1a;JOIOI上帝造题的七分钟 一共两种操作&#xff1a; \(L\ x_1\ y_1\ x_2\ y_2\ d\)&#xff1a;把\((x_1,y_1)\)&#xff0c;\((x_2,y_2)\)这个矩形内所有元素加\(d\)。\(k\ x_1\ y_1\ x_2\ y_2\)&#xff1a;查询\((x_1,y_1…