我在单用户工作流程中使用 Mercurial,如果我的编码或写作出现严重错误,我可以选择回滚更改(我主要使用 Stata 和 R 统计数据包以及 LaTeX)。虽然只在本地工作,但这很容易,因为我只有主仓库。
最近我开始通过 ssh 连接到 Linux 服务器以获得更多计算能力。到目前为止,我一直在手动来回复制文件并仅在本地使用 Mercurial,但我想使用 Mercurial 来处理这个问题并使这两个工作流保持同步。此外,我喜欢在本地(在我的笔记本电脑或台式机上)和服务器上进行编码的能力。
我是否需要在服务器上复制主仓库并保持主仓库不变?或者当我在服务器上时,我可以直接在主仓库中工作吗?在 this question @gizmo 指向 this workflow guide ; “单一开发人员”的讨论很有帮助,但我仍然不清楚我是否可以在服务器上工作时在主存储库中工作,而不会导致一些我还不明白的重大问题。
谢谢!
编辑:我应该补充一点,我已经完成了 Joel Spolsky 的 HgInit.com 教程,并且我很乐意通过 ssh 推送/拉取/克隆/等,但我仍然不确定我是否可以在主仓库中工作而不会导致后来心痛。或者这更像是一个哲学问题?谢谢!
最佳答案
- Mercurial 是 DVCS,这意味着 - 在每个位置,您同时拥有:本地工作副本和本地存储库
- Mercurial 是 DVCS,这意味着 - 您可以在存储库之间自由交换(拉|推)数据(如果它们提供远程访问方法)。
如果你
comfortable pushing/pulling/cloning/etc over ssh
并且不要忘记在您在家的工作周围执行拉|推循环(以免在家庭主机上运行 hg 服务并从服务器同步作为来源)你根本不会因为每个地方的完美线性聚合历史而感到头疼。甚至有时你忘记同步 repo,在最坏的情况下你会得到两个头,你将能够轻松 merge (不知道 Stata 和 R 数据文件的格式,但 LaTeX 作为文本是可 merge 的)
关于mercurial - 我可以在单个用户 Mercurial 工作流程中的存储库中工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9797751/