平时我在用 submodule 管理插件时更新或是维护自己的一份 fork 都很方便,但是在维护自己的插件时遇到了一个问题:
我把自己不同的插件作为不同的 repo 发布到 github 上,如果直接在配置的插件文件夹里git init
的话,magit
会提示“确定要在git仓库里再新建一个git仓库吗?”
这样就发挥不了 submodule 的作用,所以我现在的做法是把自己的插件放到 .emacs.d
之外,推送到 GitHub 上后再用 submodule 拉取到自己的配置文件夹下。
不知道有什么可以简化这一步骤的做法吗?谢谢🤔
我也是用的和你一样的流程,我在外面新建一个仓库开发并推送到github,然后把仓库做一个文件夹链接到配置文件夹下面,这样方便测试。等功能完善一些,确定要用了再把远程仓库关联到配置。
后续就可以在子模块直接修改和推送了。
3 个赞
(偏个题,参观了一下你的配置,发现你的英文名和我一大学同学一模一样😂)
这貌似是目前的最优解哦,不知道有没有直接把 git 仓库转换为 submodule 的方法
不一样的,直接 git 仓库嵌套的话,在外层仓库看不到内层仓库的变化
这个名字很容易重名,用了很多年。 用submodule 管理Emacs配置真的很方便,怎么折腾都行,错了直接回滚。
貌似没有啥好办法,我自己用 submodule 也是这样操作
所以你们不知道 git 不需要上传到 github,可以直接 clone 本地的 repo 么
1 个赞
我提的问题准确来说是要求自己的插件文件夹能变成一个 submodule,置于.emacs.d
的版本控制之下。
直接clone <path>
或者clone <local url>
的话实际上还是在外层仓库里嵌套了一个子仓库吧?
这样也是一种方案,都差不多。我个人更喜欢用软链接,这样移除的时候更方便。
maxc01
12
你要是使用submodule管理并且频繁更新自己的插件,可以用 borg。在magit的Modules里面,你可以看到自己的submodule,如果你更新了你自己插件代码的话,直接进入那个插件,P u push就完事。唯一麻烦的就是你得把自己原来的配置转过去。