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

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

该机构不允许我使用像GIT或SVN这样的SCM软件。

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

我怎么记得

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

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

评论

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

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

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

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

@jk提出了一个非常好的观点。如果缺陷导致金钱损失,欺诈或导致某人受伤或丧生,审计员将像狮子羔羊一样降落在您身上,而某人将失去工作。你最有可能高层管理人员不会为像你们这样的人冒退休金的风险。

#1 楼

您可以使用三个简单的工具轻松地复制源代码控制的角色:


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

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


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

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


现在,现实就像是巴士公司在告诉它司机无法驾驶装有电池的公交车,迫使司机将公交车推下山坡,然后松开离合器以启动公交车……这很糟糕,表明当前的管理层对经营公交车库一无所知。表示慰问。

但是至少您可以让公共汽车开始。

评论


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

– Blfl
17年5月5日在13:45

+1尽管简单的计数器参数就在行中...我们也曾经用打孔卡编程,但这并不意味着我们应该再次做

– Newtopian
17年12月5日14:57

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

–鲍勃·特威(Bob Tway)
17年5月5日在15:10

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

–伊凡
17年5月5日在15:27

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

– Greg Burghardt
17-12-5在16:29



#2 楼

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

您不能真正取代SCM。

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

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

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

评论


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

– Vlad
17年5月5日在12:11

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

– Vlad
17年5月5日在14:17

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

–布朗博士
17-12-5在15:54



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

– jpmc26
17年5月5日在19:15

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

– joojaa
17年12月6日在11:21

#3 楼

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

顺便说一句,我想最近2017年年底在巴黎发生的SNCF铁路事件也有类似原因(完全缺乏高管理水平的软件文化,因此受阻)巴黎一家大型火车站需要一天以上的时间;当然,SNCF拥有非常称职的IT团队,但在重大决策方面不会向他们征询意见)。我可以说几个完全缺乏软件文化的欧洲行业,而且即使在美国,我也肯定能找到类似的东西。

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

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

(我想您至少知道gitsvn以及技术知识git的优越性;如果甚至不允许您在工作计算机上安装诸如git之类的工具,则需要与老板进行认真的交谈,以解决此问题:您需要具备能力和授权才能安装外部开源工具(您有责任明智,谨慎地选择,配置和安装它们,并且没有已知的漏洞)

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

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

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

您可能需要准备(在几天之内)是否需要供应链管理的明确而明确的论据:首先是针对您的同事,然后是您的直接上司。请确保还建议具体的解决方案(例如在某些台式机或某些“旧”服务器上运行某些git服务器,并通过crontab作业每小时对其进行备份)

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

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

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


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


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

评论


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

–威廉
17年5月5日在23:21

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

–user253751
17 Dec 6'在0:03



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

–罗伯特·哈维(Robert Harvey)
17-12-6'2:19



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

–user253751
17/12/6在2:28



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

–贝琳·洛里奇(Berin Loritsch)
17年12月6日在13:44

#4 楼

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

您可以在文件系统中完全运行GIT,这在我准备开始之前已经在婴儿项目上完成过与他们有任何关系。 GIT也不需要管理特权才能安装。

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



教育:通过不允许版本控制,他们带来了巨大的风险。您需要有能力退回被证明存在更多问题的更改。您需要能够节省政府的金钱和时间,而SCM可以做到。您需要能够清楚地说明操作方法。您可能还需要对替代方案进行分析,才能真正理解这一点。


一个替代方案将托管在Git中
另一个文件系统Git
选择至少一个,但不超过两个可供选择的SCM工具
,最后在没有版本控制的情况下该如何工作



进入70年代开发:原因是patchdiff是很久以前(80年代)制造的。它们是使版本控制成为可能的使能技术。

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


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

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

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

评论


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

– Vlad
17年5月5日在14:12

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

–贝琳·洛里奇(Berin Loritsch)
17年5月5日在17:24

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

–贝琳·洛里奇(Berin Loritsch)
17年5月5日在17:27

#5 楼

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


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


评论


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

– jpmc26
17年12月6日在1:45



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

–食人魔诗篇33
17年12月6日在14:19

#6 楼


它们有大量的存储空间


是否允许您根据自己的决定使用它?

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


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


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


作为结论:我不会让他们禁止我使用SCM1。我会“私下”使用它。毕竟没人能说出您的代码是在开发环境中开发的,还是在未经检查的地方...

1)几年前,当我开始使用git时,我的客户选择了另一种SCM,它速度很慢且不可靠(毕竟对于SCM来说是一个NOGO(o;)。我在另一个SCM上使用了“私下” git,并在网络共享上使用了“基于文件”的远程服务器,并且仅在产品的新版本已经发布。

评论


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

– Vlad
17年5月5日在12:12

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

–提莫西·卡特勒(Timothy Truckle)
17 Dec 5'在12:24



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

– Vlad
17年5月5日在13:33

无论这些东西多么合理,绕过防止将其放置在公司计算机上的保护措施,都会使您被解雇,甚至可能使您陷入法律麻烦。别做!

–塞巴斯蒂安·雷德尔(Sebastian Redl)
17年5月5日在14:25

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

–巴尔德里克
17年5月5日在15:50

#7 楼

您的环境

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

插入USB记忆棒并从中运行某些.exe会在其他地方直接导致终止,因此,我不建议您尝试绕过任何事物。

尝试git再次

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

不要问老板/ IT部门“ SCM”,而是要他们专门在机器上安装git,这样您就可以更快,更高质量地进行开发。向他们明确表示您不想将代码推送到其他地方,不需要服务器在某个地方运行,并且不会占用大量空间或维护时间。

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

手动进行

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

通过再次复制您的工作和适当的时间来创建“分支”。合并回来,使用任意的“ diff”或“ diff3”工具发挥创意-我不知道是否有可用的工具,您必须找出答案。

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

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

#8 楼

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

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

make checkin- cp -a source-tree source-tree-date(至少到分钟,如果不是秒,例如source-tree-20171205115433)

make status-diff -R source-tree source-tree日期|更少(这里有一点逻辑,默认为最新备份,或者为版本指定差异diff

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

进行还原-rm -r源树&& cp -a源树日期源树

评论


Windows命令会有所不同-我猜您是否在Windows命令中提供了等效的命令,将是一个很好的答案。我相信这里使用的操作系统是Windows(由于VS 2005)。

–艾默生·卡多佐(Emerson Cardoso)
17年5月5日在19:33

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

– fede s。
17年12月6日在9:12

#9 楼

卖给他们
您留下了这样的评论:

他们有一个网络驱动器,我不知道该怎么做,但是它会定期创建备份。是。我使用它,然后将我的应用程序存储在其中。

去找你的上司,这样说:

老板,我注意到我们有一个系统在其中放置应用程序网络驱动器和某种服务会备份并跟踪历史记录。在我看来,我们只是通过这样做来实现我们自己的源代码控制系统。通过切换到专用的源代码管理管理系统(如SVN或git),我们可能可以释放大量空间并使整个系统更简单。我们将获得很多好处:更简单的历史版本备份,了解随着时间的推移对文件进行了哪些更改的工具(非常有用的调试信息),更容易的方法来消除错误以及更容易的方式来组合不同人的更改。 br />我以前使用过这类系统,它们非常适合我们的自定义设置执行的任务。与我们当前的系统相比,用它们来犯错误要困难得多。它们也是非常成熟且广泛使用的技术。这些工具已被广泛使用20多年。最重要的是,我们可以使用最流行的软件而无需支付一分钱的许可费用。
我很乐意帮助选择客户端和服务器并进行设置。我希望如果能买到机器,仅需[insert estimate here]个小时即可安装。只要我们可以通过网络访问任何机器,即使即将淘汰的旧台式机也可以。

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

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

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

#10 楼

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


每个项目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)


此处要遵循的基本规则:


您的代码控制将在项目的文件夹中执行;

您永远不会在“ trunk”中工作;

您在“临时”工作,实施单元测试,调用build.bat,然后调用save_on_trunk.bat;
重要提示:实施完全隔离运行的单元测试;您需要这样做,以确保新代码不会中断主干;
由于您具有自动备份功能,因此丢失代码的机会会减少;因此,您只需要使“ trunk”代码始终处于工作状态即可。


评论


我恳请下降投票者在此处提供一些反馈。我想改善对“在不使用SCM的情况下保持代码质量?”的回答。题。

–艾默生·卡多佐(Emerson Cardoso)
17-12-7在11:07



#11 楼

您已经用完了技术解决方案。仅保留政治解决方案。

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

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

评论


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

– SaggingRufus
17年12月8日在13:35

这个答案是输,输局。

– SaggingRufus
17年12月8日在13:36

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

–约书亚
17年12月8日在16:20



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

– SaggingRufus
17年12月11日在11:13

#12 楼

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

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

评论


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

– gna
17年6月6日在11:53

@gnat我没看到链接吗?

–格雷厄姆
17年12月6日在13:30

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

–icc97
17年6月6日在15:44

#13 楼

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

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

#14 楼

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

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

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

(显然,所有这些都不是建议,除非您像OP那样处于非常糟糕的工作环境中)。