【发布时间】:2016-01-11 15:08:19
【问题描述】:
我在学校的一个 Java 开发人员团队中工作。让每个人的工作空间与其他人保持同步是一件很痛苦的事情。
“好吧,你为什么不使用 git”这里的问题是:我们没有网络。这个实验室里所有的电脑都离线了,导师对安全性非常关注,他厌倦了孩子们破坏他的机器,所以他把它们都离线了。即使对于这个项目,说服他让机器联网也是没有用的。他太紧张是没有意义的。
到目前为止,我的小组已经通过记录我们所做的每一个更改、我们创建的每一个类等来“完成”。然后我们将所有工作区转移到一台 PC 上,让一些不幸的人不得不手动进行更改。随着程序变得越来越复杂,更改变得越来越难,我们的方法将变得毫无意义,甚至更加痛苦和乏味。
我确实有使用 git 的经验,并且 eclipse 有这个惊人的同步工作区工具,但我不知道如何让它工作,比如 USB 上包含的工作区。
另一个想法;一个简单的 ad-hoc 网络。假设我们组中有两台 PC,只需用一根以太网电缆将它们连接在一起,一台可以充当服务器,一台可以从中访问内容。这似乎不切实际,因为我没有管理员,也没有足够的时间来破解 PC 并获得管理员访问权限。顺便说一句,它的Windows 7。
我希望这就是您需要的所有信息,我很乐意回答有关可能被忽略的问题和信息的任何问题。
编辑:实验室没有网络基础设施,我没有网络或网络基础设施。
【问题讨论】:
-
计算机是否相互连接,但从互联网脱机,或者它们甚至没有相互连接?在第一种情况下,您可能仍然可以使用 git(使用自己作为“远程”);在后一种情况下,可能是您传递并与之同步的 USB 设备上的 git-repo?
-
我确实问过老师!他给了我最慢的方法:使用一台电脑并绕过键盘。鉴于项目的规模;您可能会因为像井字游戏但国际象棋这样的事情而侥幸逃脱?可能不是。并且计算机没有互连,所有机器的网络基础设施都被移除了。嗯,USB 上的 git repo 听起来很合理。但是我将如何同步更改?有 2 个 USB 和 2 个存储库,如何同步它们?
-
我不完全确定如何使用 git 执行此操作(因此是评论,而不是答案),但您可以在自己的计算机上将另一个 repo 设置为远程。您应该能够对 USB 驱动器上的 repo 执行相同的操作。你们每个人的 PC 上都有一个 git repo,USB 驱动器上还有一个。您每天左右绕过驱动器一次,每个人都从该驱动器拉出并推入该驱动器(您可能需要两次迭代,直到每个人都同步)
-
这可以工作,理想情况下这就是 id 想要做的。然而,这样做似乎需要一些手续。
标签: git version-control offline collaboration