9

我听说很多 Emacs 用户在多个系统上运行 Emacs 时,他们的 init 文件(.emacs 或 init.el)受 git 版本控制,并通过 Dropbox 同步 git 存储库。为什么你会在这种情况下使用 git 呢?

通常检查您正在使用哪个系统以及要加载和设置哪些内容,这取决于所有系统的一个且相同的 init 文件中发生的情况。为什么你要保存你的初始化文件的版本历史,它证明一个 git 存储库真的那么重要吗?

那么,将您的 init 文件放在 Dropbox 目录中并直接从 Emacs 加载该文件,而不是从 Dropbox 中同步的 git repo 中提取最新版本,这还不够简单吗?

4

5 回答 5

7

Git 为您提供版本控制,Dropbox 为您提供免费的私人托管。

直到最近,这是我所知道的唯一托管私人 Git 存储库的免费方法。Gitorious、repo.or.cz 和 Co. 没有私人回购,GitHub、ShareSource 和朋友对私人回购收费。Assembla 是我所知道的唯一一家提供免费私人回购托管的托管商,但该服务仅在三周前开始。

.emacs个人配置文件可能包含敏感数据,因此私下托管它们是有意义的,但仅仅为一个文件支付 GitHub 7 美元/月可能没有意义。

于 2010-05-04T00:28:08.490 回答
2

我不仅将 Dropbox 用于 Emacs 配置文件,还用于所有其他外部包(较新的 org-mode、SLIME 等)和单个 .el 文件,以便我安装和配置它们(加载路径、信息文件、字节-编译等)对所有系统只进行一次,并使用 Git 管理配置文件(一般设置、系统或特定于操作系统的定制)。

在那之后,一切都在走下坡路,因为我在我的 Dropbox 中放入了大量的参考资料(API 文档、协议资料、备忘单等)以及开发资料(Java jar 文件、源代码等),以便我拥有在我的所有系统上使用 Emacs 命令访问所有内容的相同开发环境。

于 2010-05-04T06:28:13.803 回答
2

只要您将配置文件视为代码,您就想使用适当的 VCS。Dropbox 提供了一些价值,但它与 git 不同。

简而言之,当您使用代码时,您需要的不仅仅是回滚到文档的先前版本。您需要一种快速有效的方法来查看版本之间的差异。您想知道发生了什么变化、为什么发生了变化、何时发生等。您想创建实验性分支,在其中尝试新事物,而不会弄乱您知道有效的事物。您想将实验中的一些更改提取到您的稳定分支中;但也许不是全部。

另一个问题是,将来您可能出于某种原因想要从 Dropbox 中移动您的文件,包括所有历史记录。如果你使用 git,这很简单。

于 2010-08-06T14:03:16.080 回答
1

一旦开发人员找到了他们喜欢的版本控制系统,就会倾向于将其用于所有重要文件。-- 您确保文件将始终得到备份、管理、维护历史记录(包括评论日志、更改原因等)

Git 吸引了很多用户,听到有人使用它来跟踪 init 文件我并不感到惊讶。

于 2010-05-03T21:38:20.560 回答
1

Dropbox 为您提供了一些历史支持,但它不像 Git 那样广泛和可控。如果开发人员了解 Git,那么将他们的配置文件保存在 Git 中用于诸如 Emacs 之类的东西对他们来说是有意义的。您拥有完整的版本控制,您永远不会丢失旧版本,您可以在有用的时间点使用有意义的消息提交更改,等等。

现在,当 Git 允许您在存储库之间推/拉时,为什么要在 Dropbox 上这样做呢?简单。如果您的文件在 Dropbox 上,它们会在您所有连接 Dropbox 的计算机上透明且自动地显示。因此,您无需担心“我是否拉取了更改?最近的更改在哪里?” 等等。正如其他人所提到的,您也不需要在某个地方、您自己的服务器或付费服务上拥有一个私人 Git 存储库。

Doing both also gives you the advantage of being able to easily clone your configuration to computers that do not support Dropbox easily (e.g. remote servers). Dropbox to sync to your laptop/desktop/workstation, git on the servers, and you have the same configuration everywhere with minimal hassle. And meaningful versioning.

于 2011-07-17T14:51:01.280 回答