你为什么要在你的Emacs初始化文件中使用Dropbox和Git?

时间:2010-05-03 21:28:04

标签: git emacs dropbox

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

通常会检查您所在的系统以及根据具体情况加载和设置的内容可能发生在所有系统的同一个init文件中。为什么要保存init文件的版本历史记录,为它确定git存储库的合理性是否非常重要?

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

5 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:2)

我不仅将Dropbox用于Emacs配置文件,还用于所有其他外部软件包(较新的组织模式,SLIME等)和单个.el文件,以便我安装和配置它们(加载路径, 信息文件,字节编译等)仅适用于所有系统,并使用Gi​​t管理配置文件(一般设置,系统或特定于操作系统的自定义)。

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

答案 2 :(得分:2)

只要您将配置文件视为代码,就需要使用正确的VCS。 Dropbox提供了一些价值,但它与git不在同一个联盟。

缺点是,当您使用代码时,您需要的不仅仅是回滚到文档的先前版本。您需要一种快速有效的方法来查看版本之间的差异。你想知道改变了什么,改变了什么,什么时候改变等等。你想要创建实验性的分支,你可以尝试新的东西,而不会让你知道的东西混乱。您希望将实验中的一些更改提取到稳定分支中;但也许不是全部。

另一个问题是,将来您可能会出于某种原因从Dropbox移动文件,包括所有历史记录。如果你使用git,这是微不足道的。

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

Dropbox为您提供了一些历史支持,但它不像Git那样广泛和可控。如果开发人员知道Git,那么他们就可以在Git中为Emacs这样的东西保留他们的配置文件。您拥有完整的版本,您永远不会丢失旧版本,您可以在有用的时间点提交有意义的消息更改等。

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

同时执行这两项操作还可以让您轻松将配置克隆到不支持Dropbox的计算机(例如远程服务器)。 Dropbox可以同步到您的笔记本电脑/台式机/工作站,服务器上的git,并且您可以轻松地在任何地方使用相同的配置。并且有意义的版本控制。