如何组织代码工作区和主文件夹?

Gor*_*ter 21 workspace organization

如何为主文件夹中的代码项目组织个人工作空间?您如何保持工作空间有效同时处理多个项目?


我的问题最重要的方面是上面.除非您想要解决该主题的特定子部分,否则您可以停止阅读.以下是有关工作空间组织的各种相关问题.无需解决所有这些问题.有兴趣听到以下一些相关问题的部分答案.

这个问题主要是在UNIX和OS X的上下文中.基于Windows的用户可以提供建议,但我最感兴趣的是通常在UNIX而不是windows中找到的主文件夹和命令行约定(除非你使用cygwin).

特别是在同时维护多个代码项目时,您认为哪种文件夹结构有用?当你下载各种开源代码项目时,如何保持所有各种源代码树的组织而不会使你的工作空间过于混乱?

特别是我想知道什么技巧或提示可以让项目通过命令行轻松访问,并且当您需要专注于特定项目时可以轻松浏览.

您是否找到了有用的约定来保持各种源存储库的有序性?特别是对于git,你如何组织不同的分支和相关的存储库?你经常吹掉工作副本并经常从源代码控制中刷新吗?你一直在做什么,为什么?如果某个特定项目有很多路径依赖项需要映射到您自己的主文件夹结构,那么如何处理命名空间和路径?

bin文件夹和公共库怎么样?如果您需要为各种项目(可能是不同版本的PHP,Ruby,Perl,Web服务器,编译器等)创建许多潜在的开发环境,您如何管理它.

对于经验丰富的系统管理员来说,有哪些经验和什么不起作用?

你如何保持尽可能简单但不是太简单?

是什么让您最灵活地同时处理多个项目?

您是否经常将项目移出工作区并从源代码管理中重新导入.如何在减少过于频繁地重建项目环境的需要的同时防止残留物的堆积?

如何清理或吹走整个工作区,这样您就可以从空白的平板开始,而不会失去对过去项目中获得的宝贵源代码和组织效率的访问权限?

Cat*_*hal 12

我将自己编写的软件保存在一个特殊的目录中,以我的主网站命名 - 为了争论,我们称之为'juggle'.我有〜/ juggle/software /里面是我编写的每个项目的子目录(通常用git管理)和〜/ juggle/websites /,我有一个每个网站域的子目录,无论是原始html还是其他东西像webgen或staticmatic.

为了帮助我在它们之间跳转,我使用'apparix'很好地绑定bash.

$ cd ~/juggle/software/wolfsbaen
$ bm # bookmarks this with apparix
Run Code Online (Sandbox Code Playgroud)

所以现在我可以从任何地方做到这一点

$ to wolfsbaen
Run Code Online (Sandbox Code Playgroud)

对于我下载的软件,我有〜/ software /,里面有:

  • 档案 - 保持下载的源代码压缩包
  • 文档 - 用于下载的HTML文档和PDF书籍
  • hack - 用于尝试新想法或软件库的一次性项目
  • 项目 - 我合作的项目,但没有自己开始
  • 简单 - 对于可以在解压缩目录中运行的bash/python/ruby​​程序
  • 颠覆 - 用于所有修订控制检查:cvs,svn,git,hg等.
  • unpacked - 在编译之前用于解压缩的tarball

我也有〜/ bin用于我编写的有用脚本,并且发现自己一直在使用.我将它添加到〜/ .bashrc中的PATH中

我不认为你的其他问题真的适用于我; 除了使用git之外我几乎不用闪电战任何工作区.我在工作目录中创建新分支,如果我必须突然切换分支,则存储最近的更改.我还保留了我所有自己的软件和网站源的裸存储库克隆:

$ git clone --bare . /srv/git/wolfsbaen.git
Run Code Online (Sandbox Code Playgroud)

在每个工作阶段结束时,我都会对此进行推动.这使得/ srv/git成为备份的明显选择.