Microsoft Visual SourceSafe的使用

news2025/2/24 10:07:30

1、介绍

        Microsoft Visual SourceSafe,简称vss。是一款早期微软推出的版本管理工具。跟据官方的定义,vss有两种控制模式:独占(Lock-Modify-Unlock Model)和并行(Copy-Modify-Merge Model)。独占模式相当于某个文件被锁定了,只能由指定的用户编辑和版本管理,其他用户只有只读权限。并行模式相当于,所有用户都可以改这个文件以及进行版本管理。功能上和今天的Git类似,适用于小型团队局域网开发。

2、安装与使用

2.1、安装教程

Microsoft.Visual.SourceSafe.2005

链接:https://pan.baidu.com/s/1JEAh3v2d0FkMY1sZtZNGoQ 
提取码:yyds 
 

下载解压,找到setup.exe文件,双击直接跟着安装向导走就行了。

2.2、使用教程

2.2.1、独占模式

Step1、配置vss的database

        打开Microsoft Visual SourceSafe,并进行一些设置。

Step2、登录vss

        在完成Step1的设置后,就可以打开vss了,默认用户名为:admin,无密码。

Step3、管理指定文件

新建一个项目

        

 check out你要改的文件

 然后你就独占了这个文件

选中文件,右键Show Difference,可以查看你在最近一版上做了哪些修改,和git一样,绿色的是新增,紫色的是修改。

如果你改好了文件,并且觉得没什么问题了,就可以Check In这个文件,把你的修改提交上去作为最新一版,相当于 git commit -m xxx。

选中指定文件,右键Show History,可以查看该文件的历史版本信息。

注:如果你用其他用户登录的话,或者你长时间没有登录的话,你要先设置一下working folder的,所谓working folder就是你版本管理的那个文件夹。

2.2.2、并行模式

创建的过程和独占模式一样,只是在选择Team Version Control Model的时候,你选择下面那个“Copy-Modify-Merge Model”就行了。

独占模式下,同一个文件只能被一个用户check out,但在并行模式下,一个文件可以被多个用户check out。

其实就是相当于New Branch from xxx分支

即创建本地分支git branch xxx分支名,在把远程上面的分支拉到本地创建的这个分支上                git checkout xxx分支名。

当然你在check in的时候,可能会产生冲突(只有并行模式会产生冲突,独占模式不会产生冲突)

2.2.3、Microsoft Visual SourceSafe Administration

这是一款vss的管理工具,主要负责创建vss用户以及分配权限。

1、创建用户

2、Visual SourceSafe 取消默认登录

 

3、总结

        Visual SourceSafe是我目前所在的公司内网系统开发所用的版本管理工具。用来管理服务器上运行的代码。我公司的vss设置的是“独占模式”。vss的独占模式和并行模式我都有用过,总体比较而言。并行模式并不好用,如果使用vss进行版本管理的话,推荐使用独占模式。并行模式因为允许多个用户同时修改某个文件并进行该文件的版本管理(同一个文件同时允许多个用户check out)。从而导致了如果在沟通不全面的情况,可能这个用户还在改这个文件的代码,但其他用户已经对这个文件改完了。他直接check in了,就会导致一些别的开发人员尚未开发完的有问题的代码也被提交上去。当然独占模式也会有这个问题,有些用户明明没有check out这个文件,但依旧改了这个文件并保存了。但是呢,因为最终版本控制权只在那个check out的用户(同一个文件在同一时间段内只允许一个用户check out)。大不了先把修改的部分备份一下,先undo checkout撤销该文件的所有更改回到之前那个版本,再把自己备份的修改部分复制进去就行了。

        Visual SourceSafe,不管是独占模式,还是并行模式,都属于分支模式中的TBD(主干开发模式)。有关分支模式的详细可以看下这篇:如何选择 Git 分支模式? - 知乎 (zhihu.com)

         vss只适用于一些小型的闭源的局域网开发的系统。好处在于只有一个主干分支,所有人都在上面开发。独占模式下,如果你要改某个文件,可能要等其他人把这个文件释放了(check in OR undo checkout)你才能改。有可能出现死锁的情况。这样只能先把所有的更改备份,然后都释放文件,让其中一个人都改完check in了,其他人再依次排队修改。

        关于TBD模式,其实我最早在大学里面做一些小组作业的时候,就用到了类似的版本管理方法。只不过当时大家都不知道git。一个项目,你先写,写完你负责的部分后再打包发给下面一个人,下面一个写完他的那部分后,再打包发给另一个人。反正发来发去,就是同一个压缩包在不同的人之间传。嗯,这样一看,不就是TBD了吗!

        对于Git-Flow模式,我看许多开源的并且允许大家一起维护的项目,好像基本上都是这种模式。一个分支专门用来修bug,一个分支专门用来开发新功能。你想使用这个开源项目的话,就去拉release分支。

        关于GitHub-Flow和GitLab-Flow,我也和那篇知乎文章的作者一样,觉得这两种模式差不多。可能一些传统的项目用GitHub-Flow比较多一些吧。开发的话,自己单独建一个分支(通常是自己的名字+任务号+日期这样命名分支的)开发,开发好后再合到测试分支上打包发测试环境测试。没问题了,最后合到生产分支上生产打包发布。一些微服务的项目因为有分支自动打包发布功能,所以更偏向于使用GitLab-Flow,提一个合并请求,合并即发布。

4、参考资料

Visual SourceSafe登陆用户设置_XueminXu的博客-CSDN博客

visual sourcesafe默认的admin的密码是多少呀?(急,送分!)-CSDN社区

Visual SourceSafe 取消默认登录_jhkdiy的博客-CSDN博客

Visual Source Safe(VSS) - 简书 (jianshu.com)

如何向小白解释什么是 SaaS? - 知乎 (zhihu.com)

如何选择 Git 分支模式? - 知乎 (zhihu.com)

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

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

相关文章

程序的安装——软件安装包的制作、软件源的使用

读书笔记 —— 《嵌入式C语言自我修养》 软件安装 linux 安装包的制作 编译 软件安装包路径 使用dpkg命令来制作安装包 及 安装包的卸载 软件仓库 更新源 查看具体需要更新的软件包 更新软件包 软件安装 软件安装的过程其实就是将一个可执行文件安装到ROM的过…

安全狗云原生安全从1.X到2.X的演变之路(1)

随着云计算技术的蓬勃发展,传统上云实践中的应用升级缓慢、架构臃肿、无法快速迭代等“痛点”日益明显。能够有效解决这些“痛点”的云原生技术正蓬勃发展,成为赋能业务创新的重要推动力,并已经应用到企业核心业务。然而,云原生技…

大型数据中心分层分布式谐波治理方案设计与效果分析

摘要:数据中心行业在国民经济中起到了不可替代的作用,但其繁多的非线性电力负载,如通讯系统、大型计算机、网络控制设备、变频空调、各种数码办公设备、灯光调控系统、UPS、监控系统等给其供电系统带来了严重的谐波干扰,对大型数据中心的运行安全造成了较大的威胁,为…

200:vue+openlayers 添加删除多边形,modify feature,双向互动颜色显示

第200个 点击查看专栏目录 本示例的目的是介绍如何在vue+openlayers项目中添加删除多边形,每绘制一个,左侧列表出一个信息。 hover左侧文字,右边地图上红色显示图形,点击选中右侧地图上某feature,变成蓝色高亮,同时左侧也会蓝色显示,做到双向互动。 高亮显示某feature,…

如何删除图片数据中的重复数据

我们在工作中经常这种情况,leader给你一堆数据,让你用这些没有清洗过的数据完成项目。痛苦的是,这批数据居然存在很多重复的样本。那如何删除这些冗余数据呢?imagehash库非常好用。 github地址:https://github.com/ch…

络达开发----如何开启DMIC

芯片型号:AB1565 功能模块:数字MIC接口的使用 AB1656评估板上支持两路数字MIC,分别为DMIC0和DMIC1,如果图1所示,分别 可以由GPIO_2/3/4/5/13/14/15/16来当数字MIC的接口。 图1:支持DMIC的IO口但是评估板上…

MAC M1使用Rosetta安装python3.6

在使用网上提到的brew和pyenv安装的时候,我的电脑总会报BUILD FAILED错误。 找了一天才找到解决办法,真的十分痛苦,特此记录一下,让别的小伙伴也不再迷茫。 解决办法参考网址:click here(需要VPN&#xff…

html跑马灯走马灯效果

演示 <marquee width"100%" scrollamount"5"> <a href"http://www.taobaojp5.tk"><font face"楷体_GB2312" color"#ff0000" size"3"></font><strong>带有超链接的跑马灯!点我试试&…

uwsgi 快速入门

文章目录uwsgi 快速入门一、 概述1、 简单介绍2、 环境配置二、 第一个 WSGI 应用1、 运行2、 添加并发三、 结合 Web 服务器使用1、 Flask2、 Django3、 Nginx配置uwsgi 快速入门 一、 概述 1、 简单介绍 WSGI&#xff08;Web Server Gateway Interface&#xff09;&#x…

FPGA知识汇集-ASIC移植中的FPGA芯片划分

通常&#xff0c;FPGA单芯片难以容纳下整个ASIC设计&#xff0c;因此需要将整个系统划分到多颗FPGA芯片中运行&#xff08;见图1&#xff09;&#xff0c;工程师往往需要借助原型验证平台来实现这样的目标。多芯片的划分绝不是简单的将不同的模板放置到不同的FPGA中那么简单&am…

算法训练营 day16 二叉树 二叉树的最大深度 二叉树的最小深度 完全二叉树的节点个数

算法训练营 day16 二叉树 二叉树的最大深度 二叉树的最小深度 完全二叉树的节点个数 二叉树的最大深度 104. 二叉树的最大深度 - 力扣&#xff08;LeetCode&#xff09; 给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点…

(JVM) 沙箱安全机制

沙箱安全机制 沙箱安全机制 保证程序安全 保护Java原生的JDK代码 Java安全模型的核心就是Java沙箱&#xff08;sandbox&#xff09;。什么是沙箱&#xff1f;沙箱是一个限制程序运行的环境。 沙箱机制就是将Java代码限定在虚拟机&#xff08;JVM&#xff09;特定的运行范围…

Javaweb+Vue开发中常见的问题-1

1.Vue乱码问题 Vue2 修改打包文件的编码格式&#xff08;webpack-encoding-plugin&#xff09;_一碗单炒饭的博客-CSDN博客_vue如何设置打包文件的编码格式 怎么把命令行改成utf_8 - 沿途百知 设置命令行的编码格式&#xff1a;chcp 65001 https://bbs.csdn.net/topics/3935426…

基于微信小程序云开发的职业学校招生报名小程序源码,职业学校招生报名微信小程序源码 ,职业学校招生报名小程序源码

功能介绍 这是一个以报名为核心的职业学校招生小程序&#xff0c;目的是方便想要系统学习技能&#xff0c;入门某项技能或者领域的初高中毕业生&#xff0c;了解该学校的基本情况及各个专业&#xff0c;并提供报名路径&#xff0c;致力于技能型人才培养。本程序前后端代码完整…

ikun运球新姿势-- 反弹shell

目录 反弹Shell 反弹shell的概述 正向连接 反向连接 为什么需要反弹shell 利用netcat反弹shell 利用Bash反弹shell curl配合Bash反弹shell 将反弹shell的命令写入定时任务 将反弹shell的命令写入/etc/profile文件 python脚本反弹shell 反弹Shell 反弹shell的概述 …

免费的移动硬盘数据恢复软件EasyRcovery15

在日常工作中&#xff0c;移动硬盘可以帮助用户存储重要的文件资料&#xff0c;作为可移动的存储设备&#xff0c;在外出工作时携带起来也比较的方便&#xff0c;而且它的存储空间大&#xff0c;不会出现数据文件过大而无法储存的情况。今天小编就来和大家分享一下&#xff0c;…

算能杯|全国大学生集成电路创新创业大赛开启报名!

第七届全国大学生集成电路创新创业大赛正式开幕&#xff0c;“算能杯”主题是基于TPU芯片的边缘计算系统设计&#xff0c;算能为参赛选手提供了超强算力的开发板、无人机、人工智能小车等硬件资源&#xff0c;欢迎各大高校的开发者报名参与&#xff01; 近几年&#xff0c;边缘…

4-选择题练手

1.在Java中&#xff0c;以下关于方法重载和方法重写描述正确的是A. 方法重载和方法的重写实现的功能相同 B. 方法重载出现在父子关系中&#xff0c;方法重写是在同一类中 C. 方法重载的返回值类型必须一致&#xff0c;参数项必须不同D.方法重写的返回值类型必须相同或相容答&am…

05.rocketmq源码分析后的一些整理

经过近3年的打磨&#xff0c;我们自研的企业基础应用框架基本成型&#xff0c;并且在多家规模企业中全面落地&#xff0c;从最新的统计数据来看&#xff0c;经过一年的上线应用&#xff0c;某省港集团在平台中管理的运营流程接近600/审批事项接近73w&#xff0c;业务消息量就更…

SSM02 Spring 注解开发 AOP Spring整合-事务

19-注解开发定义bean3.2 注解开发定义bean在上述环境的基础上&#xff0c;我们来学一学Spring是如何通过注解实现bean的定义开发?步骤1:删除原XML配置将配置文件中的<bean id"bookDao" class"com.itheima.dao.impl.BookDaoImpl"/>标签删除掉步骤2:D…