使用git组织大量个人脚本的好方法是什么?

Jon*_*mon 5 git organization

我有很多我的个人脚本,我想开始使用Git进行版本控制.我以前组织的代码如下:

~/code/python/projects/ (for large stuff, each project contained in an individual folder)
~/code/python/scripts/ (single file scripts all contained in this directory)
~/code/python/sandbox/ (my testing area)
~/code/python/docs/ (downloaded documentation)

~/code/java/... (as above)
Run Code Online (Sandbox Code Playgroud)

现在我将开始使用git对我的代码进行版本控制,这样我就可以拥有历史记录并将所有代码备份到远程服务器.

我知道如果我使用SVN,我会将整个" ~/code/"目录保存在一个大型存储库中,但我知道这不是用Git做事的好方法.
我在网上看到的大多数信息建议将我的所有项目文件夹保存在一个地方(例如,没有python或java的单独目录),每个项目都包含它自己的git存储库,只需要一个包含所有单个的"snippets"目录 - 文件脚本/实验,可以在以后转换为项目.

但我不确定我将所有代码目录整合到一个区域的感觉.是否有一种很好的方法可以保持我的单独代码目录不变,还是不值得努力?也许我只是附加到单独的代码目录,因为我从来不知道其他任何东西......

另外(作为附注),我希望能够快速查看所有项目和脚本的时间顺序历史记录.所以我可以看到我最近创建的项目.我以前通过在所有项目的开头保留一个数字来做到这一点002project,003project.
是否有自动或简单的方法在git中执行此操作而无需在所有项目名称中添加数字?

我愿意接受任何实用或哲学的代码组织你的建议.谢谢!!!

dbr*_*dbr 5

我知道如果我使用SVN,我只想让我的整个"〜/代码/"目录下的一个大仓库,但我知道这是不是做的事情在Git的好办法.

git阻止人们拥有单个整体存储库的原因是你无法克隆存储库的子目录(就像你可以使用SVN)

假设您git://blah/somecorp_code.git有数百万次修订,并且是15GB.如果你只是想要一个代码的子目录,那就很难 - 你要么全部获得15GB,要么全无.

对于个人代码,这确实不是问题 - 我有一个"单片"git存储库,大约20MB,我很乐意将它克隆到我希望使用它的所有机器上.

没有人使用它,没有其他人提交,我很少做分支的方式.它真的只是使用它一个奇特的撤消系统与良好的同步和远程备份(私人GitHub项目)

我把它组织如下:

在存储库的根级别,我有一个code文件夹(以及一个sites文件夹,用于web-dev的东西 - 这就是存储库为20MB的原因)

在代码文件夹,我有各种语言的文件夹(python,ruby,c等)

在每个语言目录中,我有两个文件夹,snippetsprojects.内部片段是一堆文件,里面的项目是一系列文件夹.

这些项目是我写过的随机的东西,但实际上没有多少工作(玩具项目,"我想知道我能不能......" - 项目等)

如果它是一个单独的Python文件,它会进入code/python/snippets/,如果它是多个文件的话code/python/projects/{project name}

当我想公开发布一个项目时(通常在Github上),我创建了一个新的存储库,将代码复制到此并与Github同步.

单独的"活动项目"存储库现在与整体存储库无关.我查看了子模块项目,但它并不打算用于此用途 - 它旨在简化克隆依赖,而不是管理一系列不相关的存储库

我有一个脚本,它使用Github API在本地自动克隆我的所有项目,或者更新它们git pull- 它只是githubsync.py的自包含版本(我将github.py合并到同一个文件中).它可以在这里找到gist/373731

我最初使用githubsync.py将我的项目克隆到我的笔记本电脑和桌面,并且还经常在Dropbox中运行它作为备份.