我在git
下的主目录中保留了很多文件。重要的dotfiles,我的论文等等。
我想将某些文件推送到 github ,例如我的emacs
配置,以便共享。
显然,我不想推动整个回购。 submodules
要走的路吗?
我的第一个想法是在这里创建一个目录~/github/emacs
和rsync
选择性文件,然后在该目录下添加一个指向github的子模块来推送。
这是一个好主意,还是有更好的方法?
(我不希望我的本地git repo存储所有文件,但是这些内容会变得混乱。)
答案 0 :(得分:6)
我也将我的dotfiles(以及其他配置)存储在github上。我的方法是将所有这些文件只放在repo中,并使用rake任务将它们符号链接到该位置。这样做的好处是你的实际主目录不在git repo中,你不必处理任何地方的子模块,因为这可能会变得很难维护(并且阻碍了你的dotfiles和其他东西的可重用性)。为了获得灵感,我的dotfiles存储库可以在这里找到:https://github.com/meineerde/dotfiles
一般来说,我建议你使用更小的git repos,每个项目一个。此外,您应该尝试简化存储库结构(尤其是子模块)以简化维护。只需将您的东西并排放置,并为每个新项目创建一个新的git仓库。
我不鼓励使用硬链接(由Martinho Fernandes提出),因为某些文件系统操作很容易破坏链接,并且显然存在硬链接。
答案 1 :(得分:0)
你可以创建一个目录~/github/emacs
,并为那里的实际文件放置hardlinks。
答案 2 :(得分:0)
我不喜欢在我的dotfiles git目录中使用符号链接,因为跟踪它是一件很痛苦的事情。我已经切换到使用内部.git目录和git别名;这是我在versioning dotfiles with git上的写作。