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

标签 organization workspace

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

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

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

特别是在同时维护多个代码项目时,您发现哪种文件夹结构有用?当您下载各种开源代码项目时,如何保持所有各种源代码树井井有条,而又不会过多地弄乱您的工作空间?

特别是我想知道有什么技巧或技巧可以使项目易于通过命令行访问并易于浏览,同时在您需要专注于特定项目时让路。

是否有有用的约定可以方便地保持各种源存储库的有序性?特别是使用 git,你如何保持不同的分支和相关的存储库井井有条?您是否经常吹走工作副本并定期从源代码控制中完全刷新?你保留什么,为什么?如果一个特定项目有很多路径依赖项,你必须映射到你自己的主文件夹结构,你如何处理命名空间和路径?

bin 文件夹和常用库呢?如果您需要为各种项目(可能是不同版本的 PHP、Ruby、Perl、Web 服务器、编译器等)创建大量潜在的开发环境,您将如何管理这一点。

对于经验丰富的系统管理员来说,从经验中哪些有效,哪些无效?

您如何使其尽可能简单但又不至于太简单?

什么让您可以最大程度地灵活地同时处理多个项目?

您是否经常将项目移出工作区并从源代码管理中重新导入。如何在减少过于频繁地重新创建项目环境的需要的同时防止杂乱无章的积累?

您如何清理或清理您的整个工作空间,以便您可以从一张白纸开始,而不会失去对过去项目的宝贵源代码和组织效率的访问?

最佳答案

我将自己编写的软件保存在一个特殊的目录中,该目录以我的主要网站命名——为了争论,我们称它为“杂耍”。我有 ~/juggle/software/里面是我编写的每个项目的子目录(通常用 git 管理)和 ~/juggle/websites/在其中我有每个网站域的子目录,无论是原始 html 还是什么像 webgen 或 staticmatic。

为了帮助我在它们之间跳转,我使用了与 bash 非常相关的“apparix”。

$ cd ~/juggle/software/wolfsbaen
$ bm # bookmarks this with apparix

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

对于我下载的软件,我有 ~/software/并且在里面:
  • 文件 - 保存下载的源 tarball
  • 文档 - 用于下载的 HTML 文档和 PDF 书籍
  • hack - 用于尝试新想法或软件库的一次性项目
  • 项目 - 适用于我合作但不是我自己开始的项目
  • 简单 - 用于 bash/python/ruby 程序,它们可以在解压后的目录中运行
  • 颠覆 - 适用于所有版本控制检查:cvs、svn、git、hg 等。
  • unpacked - 用于在我编译之前解压的 tarball

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

    我不认为你的其他问题真的适用于我。除了使用 git 之外,我几乎不需要对我的任何工作空间进行 Blitz 。我在工作目录中创建新分支,如果我不得不突然切换分支,则存储最近的更改。我还保留了我自己的所有软件和网站源的裸存储库克隆:
    $ git clone --bare . /srv/git/wolfsbaen.git
    

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

    关于organization - 您如何组织代码工作区和主文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1413945/

    相关文章:

    Hudson/Jenkins $WORKSPACE 变量在节点上不起作用

    linux - 如何在 a 中创建 perforce 工作区

    reusability - 你如何组织你的代码库?

    javascript - 如何以正确的方式组织我的 Marionette.js 应用程序?

    Git - 包含来自其他存储库的文件

    css - 如何在 chrome 中配置工作区?

    Eclipse:Maven 项目构建器在构建工作区时生成 NullPointerException

    grouping - CKAN 中的组织和团体有什么区别?

    eclipse : how to differentiate/distinguish different open workspaces

    java - Eclipse 的工作区 : Shall I put my images in 'src' or 'bin' folder?