我有许多共享一组项目文件的非技术用户。让他们使用版本控制是理想的,但我认为 subversion 和 git 对于非技术办公室工作人员来说太技术性了。
有没有适合普通人使用的分布式源代码控制软件?
我有许多共享一组项目文件的非技术用户。让他们使用版本控制是理想的,但我认为 subversion 和 git 对于非技术办公室工作人员来说太技术性了。
有没有适合普通人使用的分布式源代码控制软件?
如果源代码控制过于技术性,他们可以将Subversion 与 WebDav 一起使用。
技术含量较低的人只会从他们使用的任何应用程序中正常保存文件,而不用担心/考虑源代码控制。他们无需执行任何操作即可获得自动版本控制的好处。
当他们需要更多功能时,他们可以学习使用 TortoiseSVN 来查看差异,恢复到自动为他们制作的旧版本等等......
从颠覆书:
因为很多操作系统已经集成了 WebDAV 客户端,所以这个功能的用例简直是天方夜谭:想象一个运行 Microsoft Windows 或 Mac OS 的普通用户办公室。每个用户都“挂载”Subversion 存储库,它看起来是一个普通的网络文件夹。他们像往常一样使用共享文件夹:打开文件、编辑文件、保存文件。同时,服务器会自动对所有内容进行版本控制。任何管理员(或知识渊博的用户)仍然可以使用 Subversion 客户端来搜索历史并检索旧版本的数据。
你试过乌龟SVN吗?我无法想象源代码控制变得更容易使用。
如果他们不经常一次只需要一个用户编辑 Office 文件,请在具有适当权限的网络共享上获取文件并每晚备份它们。如果有人已经打开它,Active Directory 会警告他们。
如果它比办公室更复杂,请考虑 Sharepoint。我认为 SVN 太复杂了,尤其是因为二进制文件的冲突和比较,例如旧单词文档并不能真正起作用。
我会尝试将 Mercurial 与TortoiseHG一起用于 Explorer 集成。
它很容易使用,我可以毫无问题地使用:
And since it is fully distributed, they can't break your repository when they break theirs - you can simply decide not to pull their changes or to pull only the good changes (for example avoiding these huge binary files beginners tend to put under version control).
I since then switched to also managing all my static websites via Mercurial (and a push-upload hook which automatically uploads the website to my FTP-server, so I don't have to worry about that anymore).
我认为最好的解决方案是让每个人都直接使用版本控制系统。如果你在 Windows 平台上,我会推荐 TortoiseSVN。
如果直接使用 TortoiseSVN 太难,我在设置 Samba 文件共享方面有很好的经验,所有项目文档都存储在其中,并自动与 Subversion 同步。你失去了人们在他们的提交上写评论的好处,但在许多情况下,自动版本历史总比没有版本历史好。这样,相关人员甚至不必知道版本跟踪,只要他们将文档保存在正确的位置即可。您需要同步的频率取决于文档更改的频率,但在我的情况下,每 24 小时同步一次就足够了。
注意:为了实现这一点,我必须编写一个自定义脚本,从存储库中检出最新版本,将其与本地副本进行比较,并发出svn
(或cvs
)命令来添加、删除和更新任何更改的文件。我不确定是否存在一个通用的(开源)解决方案来做到这一点,但我认为自己实现应该不会太难(我写了一个简单的脚本在几个小时内完成)。
我目前正在探索 SharePoint 在何种程度上可以在类似的环境中提供非技术人员友好但可靠的版本控制。初步结果是“meh”。即使在我们得出结论的情况下,修订控制要求用户对文档管理的态度发生相当重要的转变已经变得很明显。
现在,如果这是针对使用 Apple Macs 的团队(我认为不是),我强烈推荐Versions,这是一个非常直观的 SVN 客户端。这是我见过的第一个也是唯一一个版本控制及其范式转换被非程序员轻松采用的软件。
I made a howto for the subversion+webdav answer:
您是否尝试过 Adobe 的版本提示?这不是开源/免费的,但最终用户可能更容易使用。
如果带有 TortiseSVN 的 Subversion 太复杂了——而且可能是这样,因为版本控制是一个不同于 Open、Modify、Save 的完整范例——那么你可以从一个更简单的手动版本控制开始它们:
myDocument-20080908-beverlyd.doc
它简单易懂,您可以编写一个脚本,每晚或每周归档所有旧版本,这样他们就真的只能看到最新的一两个版本。
如果有人想看到差异,请教他们差异。
-亚当
“项目文件”可能含糊不清 - 如果有问题的文件主要不是 ASCII 文件,而是 Word 文档或您拥有的文件,我不确定传统的源代码控制工具是否真的有效。
SVN 等。人。会很高兴地支持二进制文件,但如果你只使用它,那么你并没有真正获得大部分有用的功能,并且通常最终会使非技术用户感到困惑。SVN(和 git 等)是为程序员设计的工具 - 如果您只是在寻找一种管理文档修订和保留历史记录的好方法,我猜您的特定平台有更好的工具(尽管我没有没有足够的知识来推荐一个特定的)。
也就是说,如果它们主要是 ASCII 文件,我怀疑 TortoiseSVN 是你最好的选择。