当前位置:  开发笔记 > 编程语言 > 正文

什么目录结构对DVCS有意义,比如git?

如何解决《什么目录结构对DVCS有意义,比如git?》经验,为你挑选了2个好方法。

我同意TED的答案,因为我更愿意将每个项目保留在开发目录中.但是,当我在终端查看bash列表时,我喜欢轻松看到三件事:

    这是什么类型的回购--Git,Mercurial或Subversion

    存储的伪中央仓库在哪里--- Github.com,Bitbucket.org,Google Code等.

    谁拥有伪中央回购

我发现通过对我的项目使用以下命名约定,我可以很容易地做到这一点:

~/development/project.whatwhere.who

由于在使用Mercurial克隆本地项目时很常见,因此我在目录结构中添加了一个图层:

~/development/project.whatwhere.who/project/   # Initial clone from remote repo
~/development/project.whatwhere.who/project.local.blah_descriptor/  # Local hg clone

whatwhere我使用的约定如下:

github --- git repo存储在github.com上

gitorious --- git repo存储在gitorious.org上

git --- Git repo存储在别处的某个地方

gitsvn ---使用git-svn克隆的Subversion repo存储在其他地方

hgbit ---存储在bitbucket.org上的Mercurial repo

hg.gcode ---存储在Google代码上的Mercurial仓库

hg --- Mercurial repo存储在别处

svn.gcode ---存储在Google代码上的Subversion repo

svn.sforge ---存储在Sourceforge.net上的Subversion repo

svn.work ----存储在我们公司的svn服务器上的Subversion repo

svn --- Subversion repo存储在某个地方

who公约根本期望的人的用户名.

以下是一些项目示例,全部位于我的~/development/目录中:

fabric.github.bitprophet      # Bitprophet's fabric project cloned from Github
fabric.github.myusername      # My fork of the fabric project from Github
virtualenv.hgbit.ianb         # Ianb's virtualenv project cloned from Bitbucket
growl.hg.gcode                # Growl project cloned from Google code
ledgersmb.svn.sforge          # LedgerSMB project checked out from Sourceforge
coldfire.gitsvn               # Coldfire Subversion project at work cloned using git-svn
coldfire.svn                  # Coldfire Subversion project at work checked out with svn

如果您的项目太多,为了帮助组织项目,您可能需要在~/development目录下方添加一个用于组织的图层.例如,您可以拥有以下目录:

~/development/workprojects/
~/development/opensrcprojects/
~/development/personalprojects/

注意:我通常使用Git进行DVCS,因此这个答案很可能倾向于这个方向.



1> Matthew Rank..:

我同意TED的答案,因为我更愿意将每个项目保留在开发目录中.但是,当我在终端查看bash列表时,我喜欢轻松看到三件事:

    这是什么类型的回购--Git,Mercurial或Subversion

    存储的伪中央仓库在哪里--- Github.com,Bitbucket.org,Google Code等.

    谁拥有伪中央回购

我发现通过对我的项目使用以下命名约定,我可以很容易地做到这一点:

~/development/project.whatwhere.who

由于在使用Mercurial克隆本地项目时很常见,因此我在目录结构中添加了一个图层:

~/development/project.whatwhere.who/project/   # Initial clone from remote repo
~/development/project.whatwhere.who/project.local.blah_descriptor/  # Local hg clone

whatwhere我使用的约定如下:

github --- git repo存储在github.com上

gitorious --- git repo存储在gitorious.org上

git --- Git repo存储在别处的某个地方

gitsvn ---使用git-svn克隆的Subversion repo存储在其他地方

hgbit ---存储在bitbucket.org上的Mercurial repo

hg.gcode ---存储在Google代码上的Mercurial仓库

hg --- Mercurial repo存储在别处

svn.gcode ---存储在Google代码上的Subversion repo

svn.sforge ---存储在Sourceforge.net上的Subversion repo

svn.work ----存储在我们公司的svn服务器上的Subversion repo

svn --- Subversion repo存储在某个地方

who公约根本期望的人的用户名.

以下是一些项目示例,全部位于我的~/development/目录中:

fabric.github.bitprophet      # Bitprophet's fabric project cloned from Github
fabric.github.myusername      # My fork of the fabric project from Github
virtualenv.hgbit.ianb         # Ianb's virtualenv project cloned from Bitbucket
growl.hg.gcode                # Growl project cloned from Google code
ledgersmb.svn.sforge          # LedgerSMB project checked out from Sourceforge
coldfire.gitsvn               # Coldfire Subversion project at work cloned using git-svn
coldfire.svn                  # Coldfire Subversion project at work checked out with svn

如果您的项目太多,为了帮助组织项目,您可能需要在~/development目录下方添加一个用于组织的图层.例如,您可以拥有以下目录:

~/development/workprojects/
~/development/opensrcprojects/
~/development/personalprojects/

注意:我通常使用Git进行DVCS,因此这个答案很可能倾向于这个方向.



2> T.E.D...:

由于Git的工作方式,您实际上不希望将存储库(或分支)的工作目录放在另一个存储库的工作目录的目录中.它会继续想要将子目录的内容放入父级的存储库中.

如果你把所有分支都作为兄弟目录,那就可以了.

我倾向于做(无论使用Git,cvs还是(ick)SourceSafe)都有一个Development目录,每个项目,分支等都是一个子目录.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有