没有SCM的情况下如何保持代码质量?


110

我在政府机构工作。这里使用的技术和开发软件的方法已经过时了。

它们具有大量的存储空间,但没有合适的空间来保留和维护用于自动化此处大部分工作的应用程序。

该机构不允许我使用SCM软件(例如GIT或SVN)。

保持代码质量并稍后能够在应用程序中添加新功能的最佳方法是什么?

如何记起对代码所做的更改而又不破坏代码?

编辑:我忘了提及,它们为每台计算机都有网络驱动器,并且这些网络驱动器会以某种方式定期进行备份或保存备份。但是,如果我不创建自己的计划以保存工作并能够在不破坏现有代码的情况下添加新功能,那么与SCM解决方案相比就没有太大的优势。

编辑:由于许多人建议使用便携式Git,所以我必须添加更多信息。我尝试安装Visual SVN服务器,但失败了,因为我没有安装管理员权限。我也尝试下载常规的Git Shell,但是防火墙或网络设置不允许我访问Git下载页面。我什至尝试过,将便携式Git发送到我的Gmail电子邮件中。Google检测到了软件包中的exe文件,也不允许我在工作计算机上下载可移植的Git版本。我还要提到的另一件事是,应用于机构内部计算机的网络策略不允许使用USB存储设备。您可以使用USB端口为智能手机充电或为小扬声器等小工具供电。也有人说过,有些计算机甚至不允许上网。


4
您可以通过将gmail文件类型过滤器重命名为.mp3,.zip等“知名”扩展名来绕过它。
Pac0

2
我问自己,为什么这个问题在2017年仍然会有如此之多的投票-我真的很害怕
Ole K

9
找另一份工作。这些人是不合理的恐龙。您会在某处希望您使用适当的现代工具的地方获得更多的工作满意度。
Rob K

5
没有理由政府机构不应该使用SCM。实际上,他们可能不使用SCM违反了各种流程和审核规则。我建议你从这个角度攻击它
JK。

2
@jk提出了一个非常好的观点。如果缺陷导致金钱损失,欺诈或导致某人受伤或丧生,审计师将像狮子一样放倒在您身上-某人将失去工作。你很有可能。那位高层管理人员不会为您这样的人冒退休金的风险。
Greg Burghardt

Answers:


175

您可以使用三个简单的工具轻松地复制源代码管理所扮演的角色:

  • 备份软件(提交/签入)
  • 文件夹(分支)
  • 使用KDiff3之类的工具在两个目录之间执行目录合并(合并分支)

基本上,您的工作流程将变为:

  1. 创建一个新文件夹(新分支)
  2. 将文件从现有文件夹(现有分支)复制到新文件夹(新分支)
  3. 备份该文件夹(完成创建新分支)
  4. 做一些工作
  5. 备份新文件夹(提交)
  6. 将目录从一个文件夹合并到另一个文件夹(合并)
  7. 在另一个文件夹中进行另一个备份(提交合并)

诸如SVN或TFS之类的更单一的源代码控制系统基本上是在幕后为您完成的。


现在,现实就像公共汽车公司告诉其驾驶员他们不能驾驶装有电池的公共汽车,迫使驾驶员将公共汽车推下山坡,然后弹出离合器以启动公共汽车...这太可怕了并表示当前的管理层对运营公交车库一无所知。节哀顺变。

但是至少您可以启动公共汽车。


41
给定约束,这实际上是正确的答案。这也是我们在VCS成为事物之前所做的工作。
Blrfl

35
+1尽管这很容易被
驳回

25
+1-用于回答问题。我的第一份工作没有源代码控制,这就是我们的工作方式。注意:我们只有两个人,我们相处得很好,并且我们主要从事单独的项目,事后看来,这仍然不是一个好主意。任何其他复杂的团队,这都是一场噩梦。
马特·瑟罗

18
我怀疑OP是否能够安装/下载类似KDiff3的工具。如果他不能在本地安装git,我怀疑他是否可以在本地运行其他任何git。
伊凡(Ivan)

5
@Ivan:看完评论之后,好像OP在Linux机器上。我发现使用此技术堆栈的组织通常在正常的桌面构建中会提供许多差异/合并工具,而kdiff3是一种非常常见的工具。可能还有其他目录合并吗?或者OP卡住了一张一张的合并文件((!)。但是,是的,这种情况简直糟透了。
格雷格·伯格哈特

139

尽管共识肯定是对这家公司不起作用,但我认为这不能真正回答您的问题。

您无法真正取代SCM

您可能不需要完整系统的常规功能。例如,公司可以拒绝对服务器的请求,但允许使用本地SCM。他们可能不喜欢git,但允许颠覆(或其他版本控制系统)。

当然有一个问题:您的同事在使用什么,或者以前有什么工人?如果您是他们拥有的第一个软件开发人员,那么您就该努力争取所需的资源。

最后,如果您的公司不尊重您的角色和经验,并且不允许您使用所需的工具,那么与缺乏源代码控制相比,您将遇到甚至更糟(且压力更大)的问题。


11
我正在使用的应用程序是一个单人项目。而且,不,我不是这里的第一位程序员。许多人来到这里并离开了。
弗拉德

7
我还看到一些同事在尝试使用这些旧的丑陋结构化应用程序时感到沮丧,他们的表情是“为什么我们每年都要做这些事情”。
弗拉德

6
@Vlad:您知道Git和SVN都不需要网络驱动器吗?对于VB6和单人项目,我可能会使用SVN,它更易于处理二进制文件。我做了几年,直到我们替换了最后一个VB6程序。
布朗

24
@弗拉德“许多人来了,走了。” 寻找一种尊重的方式告诉他们,这种公司文化可能与他们的营业额有关。
jpmc26 2007年

26
自我提醒:询问公司在面试中使用什么SCM。如果不知道或什么都不说,请告诉他们,谢谢您的时间,浪费我的时间。
joojaa

25

基本上,存在一个管理问题(您的组织不了解软件开发过程的基础知识,例如V模型),这显然导致无法使用最少的当前时代的工作流程,方法和工具。这很常见(请阅读有关Peter的原理)。

顺便说一句,我猜想2017年末巴黎发生的SNCF铁路事件也有类似的原因(完全缺乏高管理水平的软件文化,因此阻塞了巴黎一个主要火车站超过一天的时间;当然,非常有能力SNCF的IT团队,但未就重大决定征询他们的意见)。我可以说几个完全缺乏软件文化的欧洲行业,而且即使在美国,我也一定能找到类似的东西。

主要问题是:在代码基础上独自工作,还是与同事一起工作?

如果您是一个人工作,则可以在计算机上本地使用git,并.git定期(到该外部存储空间)备份代码(甚至可能是存储库)。确保不会丢失超过半天的工作时间(因此,请定期可靠地备份数据)。

(我想您至少了解这两个方面gitsvn并且您了解...的技术优势git;如果甚至不允许git您在工作计算机上安装某些工具,则需要与老板就此问题进行认真的交谈:您需要具有安装外部开源工具的能力和授权(并且您有责任明智,谨慎地选择,配置和安装它们,并且没有已知的漏洞

如果您与几个同事一起工作(我猜少于十个),则需要说服所有人使用版本控制系统,并且可能需要向您的直接(和普通)老板讲述。他可以(可能)决定(或简单地暗中接受)某台机器(也许甚至是一些旧台式机,甚至您自己的台式机)都被用作git服务器。您绝对需要设置该服务器,以便至少每小时备份一次git存储库。您承受不起(并且需要与老板讨论)失去一个多小时的团队工作。

顺便说一句,我喜欢Linux,因此建议您在充当git服务器的计算机上安装Linux 。然后,安装git和配置定期备份(有些crontab工作)非常容易;请注意,git服务器可以在使用Windows的Windows客户端上运行Linux。如果可以的话,我什至建议您将开发计算机切换到Linux。它“便宜”并且对开发人员更友好

但是您需要使用SCM。您可能会问老板一个不同的问题:您的团队应该使用现有的 SCM还是应该重新发明轮子并制作自己的SCM?老板们通常反对重新发明轮子的想法。如果被允许重新发明轮子,告诉老板至少一年的全职工作(这可能会使老板哭泣,然后接受明显的方式),并乐于制作自己的单片机。在这种不太可能的情况下,一定要研究现有的 SCM系统,并要求使您的SCM系统成为一些免费的软件工具(供其他团队使用和改进)。

您可能需要准备(在数天)一个确切具体的需要一个SCM的论证:首先为你的同事,那么你的顶头上司。一定还要提出具体的解决方案(例如在某些台式机或某些“旧”服务器上运行某些git服务器,并每小时通过crontab工作备份一次)

未经许可(在大多数国家/地区,尤其是对于国家的敏感IT工作),请勿在未经许可的情况下在您的工作计算机上安装任何软件(从外部,甚至是开源),在未经许可的情况下安装软件在法律上是犯罪行为,并且您可能会失去理智。如果您这样做的话,就去工作或入狱..因此,请确保您被授权这样做;也许可以通过书面许可或至少通过电子邮件的方式掩盖自己的屁股)。

(要么需要根据具体情况进行询问,要么需要获得组织的信任才能被允许在工作计算机上安装任何合法软件-大多数是开源软件或免费软件)。

PS。如何git机器上(即使没有管理员许可)在技​​术上构建,配置,安装然后使用(从其免费软件源代码)或大多数其他免费软件VCS 则是一个非常不同的问题(将在其他地方提出)。git如果您有足够的资源(时间,磁盘空间,某些C编译器等),可以在没有任何管理员许可的情况下安装然后使用。

我尝试安装Visual SVN服务器,但失败了,因为我没有安装管理员权限。

这是您的一些特定的配置和编译解gitsvn自由软件的源代码git或颠覆,不只是一个二进制套餐的(以及源代码依赖); 从技术上讲,这是一个不同的问题(但此类技术问题应放在其他地方)。当然,您应该先征得老板的许可,git然后再编译的源代码。他将告诉您,或者您将与他讨论有关将源代码从外部传输到您的工作计算机的实用细节(如果他接受这样的解决方案)。


5
您可以访问Github并从源代码构建Git吗?
威廉

5
@RobertHarvey安全性必须始终比您的工作(组织的,而不是您的工作)的优先级低。因为什么都不做,您将是最安全的。然后政府解散您的组织,因为它从不做任何事情(或者做得比大多数政府组织都要少)。否则你们都会因为组织破产而失业(如果没有政府资助)。等等。
immibis

6
@immibis:对不起,但这是一个稻草人。没有完整的安全性之类的东西,而适当的安全性并不需要您牺牲正确的工作效率。请注意,拥有有效安全性(考虑到合理的工作产品处理预防措施)的最简单,最有效的方法就是简单地从Internet拔出电源。
罗伯特·哈维

8
@RobertHarvey这不会阻止员工窃取您的IP。阻止员工窃取您的IP的最简单方法是不要窃取IP。您说安全是第一要务,而不是第二或第三要务,在这种情况下,生产力必须是第二或第三要务,因此应该降低安全性。
immibis

3
@immibis,您听起来像是没有经验的人在这些环境中工作。您还说的是,如果您窃取了他们的IP,他们可以合法地将您锁定并丢弃密钥。在这种环境中,信息处理不当(甚至不会完全盗用IP)可能会对组织造成严重伤害。当然,安全是首要考虑的问题。这使在那种环境下工作变得痛苦。
Berin Loritsch '17

11

我会做的第一件事是确定具体什么样的政府机构(大概是IT部门)的反对。如果它们具有存储空间,但是无法为服务器托管VM,则问题可能出在IT部门对SVN或GIT 服务器说不,这是一个很大的区别。如果问题出在原产国(即我们不信任外国实体创建的工具),那就是另一个问题。

您可以在文件系统中完全运行GIT,在我准备对它们进行任何操作之前,我已经在婴儿项目上完成了它。GIT也不需要管理特权才能安装。

如果您出于任何原因绝对不能使用Git,那么您可以使用以下两种选择:

  • 教育:通过不允许版本控制,他们带来了巨大的风险。您需要有能力退回被证明更成问题的更改。您需要能够节省政府的金钱和时间,而SCM可以做到。您需要能够清楚地说明操作方法。您可能还需要对替代方法进行分析,才能真正理解这一点。
    • 一种替代方案是托管Git
    • 另一个文件系统Git
    • 选择至少一种,但不能超过两种以上的替代SCM工具
    • 最后,没有版本控制的情况下会怎样
  • 进入70年代发展: 有是有原因的patch,并diff作了很久以前(80年代)。它们是使版本控制成为可能的使能技术。

70年代时代的发展是什么样的?这不是很漂亮,但这是我们开始的方式。应用程序要小得多。本质上,他们有一些共同之处:

  • 金标准的概念。这是具有完整功能的主要源代码。
  • 有一个配置管理(CM)团队。他们的责任是正确地从开发变更为金标准。这是您需要的地方patchdiff可以代替团队。
  • 您使用源代码的本地副本进行工作。您完整地完成了一项功能,并将其提交给CM团队以供他们集成。通常会有一个附带的文档,以便创建新文件和删除过时的文件,等等。
  • 然后,您可以修复集成过程中的所有错误。
  • 在获得其他功能或错误修复之前,您需要获得黄金标准的新副本。

本质上,这是一个容易出错的过程,有很多可能出错。“分支”的想法很容易实现,但是却是一场噩梦。主要问题是,当源代码副本过多时,很难理解什么是正确的生产基准。为了实用起见,您必须成为单线程。

这是您需要在替代方案分析中包括的内容。


不,这里的人们没有将IT部门视为工作的关键部分。他们认为它是辅助部门,只是为其他部门提供的服务。因此可能会受苦:)
弗拉德(Vlad)

4
@Vlad,您是否调查了受限制的服务器资源还是应用程序本身?如果是服务器资源,则可以在文件模式下使用git,它将比硬方法(即70年代时代)做的更好。
Berin Loritsch

5
在教育客户方面,我已经走了很长一段路。对替代方案进行分析是传达这些决策含义的一种好方法。当然,这需要进行大量工作,但是几天的文档和编辑工作可以节省数周的头痛和头痛。
贝琳·洛里奇

9

鉴于您在注释中提到的限制(例如:无法访问Git下载页面,Windows平台和使用Visual Studio 2005),我可以看到2个选项,在类似情况下,我都曾经使用过这两个选项:

  1. 像艾默生在评论中建议的那样使用Visual SourceSafe。几年前,我曾与一个使用VS 2005的团队一起工作,而公司的其他大多数人则在Linux / Unix中使用标准版本控制,而他们为CM高兴地使用了Visual SourceSafe。在这一点上,它已经过时了,但是总比没有好。
  2. 说到总比没有好,我本人也受到类似的束缚。如果您甚至不能使用VSS(也许未安装插件?),并且由于您说有足够的存储空间,则希望您可以使用其中的一些存储空间。我实现了基于文件的手动版本控制协议。在每个工作日结束时,我都将代码库复制到新的带日期戳的目录中。如果需要参考以前的工作(或回滚),则可以查看以前注明日期的目录以查找所需的更改。由于可以使用Visual Studio,因此在几个小时内,您可能会使用VS 2005编写一个简单的工具来帮助您自动执行目录创建和文件复制。

1
我为您的第一个选项+1。您的第二个选择让我想吐。但是我明白。
jpmc26

@ jpmc26有时您在1990年代只是在一个受限的环境中工作(或者感觉像是在1990年代陷入困境),而实际上您别无选择。不愉快,但总比没有好。
Ogre Psalm33,2013年

8

他们有大量的存储空间

您是否可以根据自己的决定使用它?

如果是这样,您可以创建一个总比没有强的文件系统远程存储库。缺点是,随着项目的发展,推送变得很慢,因为git需要下载整个存储库以查找更改...

到目前为止,计算机的行为类似于普通用户,禁止我安装第三方软件。

git还作为便携式应用程序提供,因此您可以将其安装在$ HOME或%USERPROFILE%路径中。


结论:我不会让他们禁止使用SCM 1。我会“私下”使用它。毕竟没有人不能说出您的代码是在某处被开发还是未经检查的情况下开发的...

1)当我git几年前开始使用时,我的客户选择了另一种SCM,该SCM非常慢且不可靠(毕竟对于SCM来说,这是一种NOGO(o;)。我git在其他SCM之上使用“私下”网络共享上具有“基于文件”的远程服务器,并且仅在发布新版本的产品后才签入其SCM。


3
我无法从中下载Git的网站。并且在安装Visual SVN Server时,在具有此PC权限的最后一步中,它失败。
弗拉德(Flad)

3
@Vlad是否受贵公司防火墙的限制?是否可以连接USB记忆棒?可以访问此链接吗?github.com/sheabunge/GitPortable/releases/download/...
蒂莫西脚轮

3
除了给智能手机充电以外,我不允许插入USB存储设备。
弗拉德

18
无论这些东西多么合理,绕过防止将其放置在公司计算机上的保护措施,都会使您被解雇,甚至可能使您陷入法律麻烦。不要做!
塞巴斯蒂安·雷德尔

2
@Vlad我的意思是,作为访问git安装程序的一种方式。正如Sebastian Redl所说,请确保首先允许您在计算机上运行软件。
Baldrickk

7

您的环境

首先,我不会像很多评论和回答中那样悲观。是的,这是“石器时代”,但情况糟得多。如果您的总体工作环境(同事,位置,薪水,有趣的编程工作等)还不错,并且符合您的口味,那么请务必坚持下去。关于IT,这就是它。这不仅在政府机构中发生,而且在银行,保险或任何非常注重安全性或结构非常古老的地方也会发生。

插入USB记忆棒并从那里运行某些.exe文件可能会在其他地方立即导致终止,因此,我不建议您尝试绕过任何东西。

再试一次git

现在由您选择。我强烈建议您使用git而不是svn。如果您仍在进行一个人的项目,则git只是.git应用程序根目录中的本地目录,仅此而已。

不要要求老板/ IT部门提供“ SCM”,而要专门要求他们安装git在您的计算机上,这样您就可以更快,更高质量地进行开发。清楚地告诉他们你希望你的代码推到别的地方,那你就不是需要一台服务器运行的地方,而且将占用空间显著或维修时间。

Git可以为您提高速度和质量,仅仅是因为您可以放心地工作(因为您可以撤消所做的任何更改),并允许您同时在多个分支上工作。即,如果您正在处理大型任务,并且需要立即引起注意,则可以切换到新分支,快速修复该分支,然后返回到长期运行的任务。

手动做

如果根本不可能,那么您当然可以进行手动源代码控制。通过自己复制代码来创建手动“标签”(也许创建一个带有日期/时间的新目录,以及对更改内容的简短描述)。保留一个Changelog,其中不仅包含更改的详细列表,而且还包含更改的文件,甚至可能包含更多详细信息。

再次通过复制您的作品来创建“分支”,然后是时候合并回来了,使用一些任意的“ diff”或“ diff3”工具来发挥创意-我不知道您是否有可用的工具,找出。

如果所有这些都花费了您大量时间,那么请认真考虑一下,对您而言,模拟SCM是否真的值得。如果您发现这值得的,请再次与您的老板交谈。向他展示您使用手动SCM的好处(不仅是“我拥有所有旧工作的副本”,而且还包括“当XYZ错误发生时,我立即能够找到原因,并且是5发行前)”。然后告诉他们这将有多快git

显然,如果这使您发疯,找工作总是一个选择。


5

我认为这里很多人都缺少这个问题的“政府机构”。一些政府网络对允许使用的软件有非常严格的规定,违反这些规定是可燃的罪行,甚至可能是犯罪。我将通过管理部门来推动它,看看您是否可以在安装软件方面获得一些认可。我不会去牛仔和自己安装东西。如果您正在运行Linux / UNIX,请查看是否已安装RCS(ci / co命令)或SCCS(sccs命令)。这些是旧的SCM工具,曾经是相当标准的。它不漂亮,但是比我在下面要写的要好。:)

由于您有大量的磁盘空间,因此请创建源树。小型SCM的基础知识是什么?能够签入更改,查看更改内容,标记内容,并在必要时返回到旧版本。在源树的上方一层,根据您所拥有的内容,创建一个Makefile或脚本,该脚本或脚本执行以下操作(这些是Linux / UNIX风格的,Windows命令会有所不同)

进行签入-cp -a source-tree source-tree-date(至少到分钟,如果不是秒,例如source-tree-20171205115433)

制作状态-diff -R source-tree source-tree-date | 更少(这里有一些逻辑,默认为最新备份,或者为版本提供diff参数

make标签-ln -s source-tree-date release1.0(链接到特定版本)

进行还原-rm -r source-tree && cp -a source-tree-date source-tree


1
Windows命令将有所不同 -我猜您是否在Windows命令中提供了等效的命令,将很好地回答这个问题;我相信这里使用的操作系统是Windows(由于VS 2005)。
艾默生·卡多佐

1
FWIW,Windows中不存在差异。最接近的文件似乎是fc.exe,该文件仅可用于两个文件(不适用于目录)。其余的都有直接对应的对象。
fede s。

4

卖给他们

您留下了此评论

他们有一个网络驱动器,我不知道如何运行,但是会定期创建备份。是。我使用它,并将我的应用程序存储在那里。

去上级,用这种话说:

老板,我注意到我们有一个系统,可以将应用程序放在网络驱动器上,并且某种服务可以备份并跟踪历史。在我看来,我们只是通过这样做来实现我们自己的源代码控制系统。通过切换到专用的源代码管理管理系统(例如SVN或git),我们可能可以释放大量空间并简化整个系统。我们将获得很多好处:简化了历史版本的备份,了解随着时间的推移对文件进行了哪些更改的工具(对于调试非常有用的信息),更容易的方法来消除错误以及更容易的方式来组合不同人的更改。

我以前使用过这类系统,它们非常擅长我们的自定义设置所执行的任务。与我们当前的系统相比,用它们来犯错误要困难得多。它们也是非常成熟且广泛使用的技术。这些工具已被广泛使用20多年。最重要的是,我们可以使用最受欢迎的软件,而无需支付一分钱的许可费用。

我很乐意帮助选择客户端和服务器并进行设置。我希望[insert estimate here]只要能买到机器,安装它就只需几个小时。只要我们可以通过网络访问它,任何机器都可以使用,即使是即将淘汰的旧台式机也可以。

这里的高级别摘要是,您需要用他们可以理解并且可能认为值得的术语来表达它:

  • 释放资源(硬件和人员)用于其他目的
  • 降低风险(人为错误,技术稳定)
  • 提高生产力
  • 实施成本低

您的上司不是技术人员,也不在乎技术问题。但是,如果您可以从金钱和花费金钱的角度来解决问题,他们的耳朵可能会有点振作。


1

好了,在阅读了您的问题和大量评论之后,我了解到您具有以下约束/方案:

  • 每个项目1人;
  • 您只能在项目中使用Visual Studio 2005以外的外部工具;您不能使用GIT或任何其他SCM;
  • 在本地工作时,您不能让项目处于崩溃状态,因为您会不时地拥有自动备份,并且需要使其始终处于工作状态;
  • 您需要一些历史记录才能跟踪更改;

如果您不能使用Visual Source Safe(具有可与VS 2005配合使用的插件),则可以使用另一种方法。

基于上述各项,建议您组织项目文件夹,如下所示:

trunk           //last functional version of the app. IMPORTANT: YOU DON'T WORK WITH THIS FOLDER
    UnitTests   //important: create unitary tests in order to guarantee stuff is working after changes
    MyClassLibrary1
    MyClassLibrary2
    MyApplication
    Docs
    readme.md
    YouProject.sln
temp              //your working folder; has structure similar to trunk; changes will be commited to trunk;
    UnitTests     //important: create unitary tests in order to guarantee stuff is working after changes
    MyClassLibrary1
    MyClassLibrary2
    MyApplication
    Docs
    readme.md
    YouProject.sln  
build
    .history    //folder to contain changes in files and your comment (like commits in git)
    build.bat   //calls MSBuild to build temp\YourProject.sln, and run all unit tests
    save_on_trunk.bat   //if build is working, saves info from "diff.bat" in folder within ".history" with timestamp, and also overrides "trunk" with content from "temp"
    diff.bat         //compares files from "temp" and "trunk", using "dir" and "fc" commands
    history.bat  //outputs content from .history folder (contains file changes and comments)

这里要遵循的基本规则:

  • 您的代码控制将在项目的文件夹中执行;
  • 您永远不会从事“大货车”工作;
  • 您在“临时”下工作,实施单元测试,调用build.bat,然后调用save_on_trunk.bat
  • 重要提示:实施完全隔离运行的单元测试;您需要这样做以确保新代码不会破坏主干;
  • 由于您具有自动备份功能,因此丢失代码的机会会较小;因此,您只需要使“ trunk”代码始终处于工作状态即可。

1
我恳请下降投票者在此处提供一些反馈。我想改善对“在没有SCM的情况下保持代码质量? ”问题的回答。
艾默生·卡多佐

1

您已经用完了技术解决方案。只剩下政治解决方案。

1)联合开发人员。如果已经有工会,请挑战他们的立场,即不公平代表开发人员的雇员级别。如果组建开发者联盟无法获得一半开发者的支持,请使用GO。你身体不好。

2)报纸广告。如果您的政府不保证言论自由是公认的法律问题,这将使您被解雇。


1
1)作为工会的积极成员,我可以说工会对此绝对无能为力。工会的目的是控制集体谈判,并确保雇主不违反集体协议。根据雇主的不同,如果管理层不愿意,您实际上会因试图成立工会而被解雇。2)即使该国确实保证向其人民发表言论自由,但作为雇员,您仍然无法向媒体求助。您绝对可以为此感到火。
SaggingRufus

1
这个答案就是输,输局。
SaggingRufus

@SaggingRufus:工会绝对可以要求他们为工作提供合适的工具。雇员雇主不能向媒体寻求私人公司的服务,但是政府部门可以通过这种方式负责。
约书亚

1
作为向某技术公司工会工作的人,我可以向您保证,我们的发言权绝对为0。除非它成为健康与安全问题,否则工会就没有地位。我在某种程度上同意你的看法。如果不是软装,那么评论中的“适合工作的合适工具”部分将是正确的。举例来说,假设您是工会中的木匠,而雇主拒绝给您买梯子,并说您需要将7张椅子叠放在一起才能爬。然后您可以说,雇主有义务为您提供适当的工具。此时,这已成为安全问题。
SaggingRufus

0

Windows的Git具有“便携式”版本。您可以将其复制到PC上,或保存在记忆棒中,而无需实际安装任何东西。如果问题仅仅是安装,那么这将是一种解决方法。

请注意,如果他们坚决反对SCM,则可能要提出有关ISO-9001,DO-178B或其他相关软件开发标准的针对性问题。


1
这似乎只是重复在20多个小时前发布的先前回答中提出和解释的观点
gnat

@gnat我没看到链接吗?
格雷厄姆

3
您可以将链接添加为其他答案的评论。
icc97

0

只需在一个裸目录上运行git,根本不涉及任何服务器。没有其他人使用版本控制一点也不重要,因为您可以对目录进行版本控制。Git正是针对这种流氓SCM引入场景而设计的,并且运行良好。

当第二个人开始使用它时,您将成为英雄,即使您必须等待一些恐龙踢它的桶才能传播。现在不使用SCM管理大型代码库是无能的。实际上,这就像在不进行任何审核的情况下经营企业一样。


-1

实际上,作为专业开发人员,您需要坚持三件事:代码审查,版本历史记录和跟踪变更请求。

您可以自己跟踪更改请求。不如使用正确的工具好,但是可以。第二部分是代码审查。为此,您需要代码的先前副本和diff工具。当您认为更改已准备就绪时,可以通过与以前的版本进行仔细比较来自己进行检查,然后用新版本替换以前的版本。

对于版本控制,如果您的工作场所不允许任何体面的解决方案,那么您需要使用一盒可写DVD。每当您拥有要保留的版本,便可以创建新的DVD。

(显然,除非您像OP那样处于非常糟糕的工作场所,否则所有这些都不是应采取的建议)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.