$ HOME git repo(有选择地)到github?

时间:2011-02-10 15:12:59

标签: git github git-submodules

我在git下的主目录中保留了很多文件。重要的dotfiles,我的论文等等。

我想将某些文件推送到 github ,例如我的emacs配置,以便共享。

显然,我不想推动整个回购。 submodules要走的路吗?

我的第一个想法是在这里创建一个目录~/github/emacsrsync选择性文件,然后在该目录下添加一个指向github的子模块来推送。

这是一个好主意,还是有更好的方法?

(我不希望我的本地git repo存储所有文件,但是这些内容会变得混乱。)

3 个答案:

答案 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上的写作。