我的emacs有一些设置。
让我们说这个设置可以分为" B(两个)+ P(个人计算机)+ R(远程计算机)"
我想在我的个人电脑中,我可以拉/推" B + P" 在remote_computers中,我可以git pull / push" B + R"。
最重要的是,存储库包含了所有的东西" B + P + R"。
非常感谢。
答案 0 :(得分:2)
Emacs不是一个编辑器,而是一个带编辑器的ELisp环境。您的设置是用ELisp(Emacs Lisp)编写的。 ELisp非常强大。一种选择是维护一组设置并使用ELisp to differentiate between "remote" and "personal" features。使用环境变量或点文件或任何您喜欢的内容来指示" remote" vs" personal"。这可能是最不麻烦的。
这是我.emacs
的一个例子。 Aquamacs默认 alt-w 以终止当前帧。重新绑定它以杀死当前缓冲区。 Aquamacs使用osx-key-mode-map
进行密钥绑定,因此它首先检查它,以便配置继续与其他Emacs实现一起使用。
(defun kill-current-buffer ()
(interactive)
(kill-buffer (current-buffer)))
(when (boundp 'osx-key-mode-map)
(define-key osx-key-mode-map '[(alt w)] 'kill-current-buffer))
另一种方法是维持三个分支。从universal
开始,然后从中分支personal
和remote
。当你想要添加一些东西时,程序会像这样......
添加特定于personal
或remote
的功能时,请将其添加到相应的分支。如果您确定某项功能实际上是通用的,则可以使用git-cherry-pick
将其添加到universal
。
添加通用功能时,请将其提交到universal
分支,然后git checkout remote; git merge universal; git checkout personal; git merge universal
。
然后克隆存储库并签出相应的分支。
答案 1 :(得分:0)
听起来你想要的是根据你的拉动位置条件加载文件的能力。虽然不能直接支持,但可以通过在每台机器上设置一些简单的设置来实现。
我会检查以下帖子,因为它似乎与您的问题非常相似。但是,如果您对git有任何具体问题,我可以在这里为您解答。 How to ignore files only locally in git?