我是GIT的新手,最近从SVN切换,我面临着在GIT中组织我所有项目文件的好方法的问题。
我的项目通常包含四种类型的数据,即。
在SVN中,我曾经在root中创建上面提到的四个目录,并要求相应的团队成员检查特定目录,看他们需要什么。
例如
在SVN中很容易实现这一点,因为我只是检查所需的目录并继续提交相同的更改才能生效,但它在GIT中有所不同,因为我得知它对我来说是不可能的克隆存储库中的一个特定目录。
我希望与GIT遵循相同的做法,并希望团队能够访问他们所需的资源,而不是所有资源。
由于GIT不允许我克隆一个特定目录,我认为可能会创建不同的分支并相应地存储可能是个好主意。或者我可以为每种类型的数据制作一个分支?
我对访问内容的权限并不感到困扰,如果设计人员可以访问App或Document目录,那对我来说没问题,唯一的一点就是我不希望每个人都克隆整个存储库,因为它没有意义为每个团队成员下载他们不需要的一切。以及它如何也会增加下载/上传时间,因为平均而言,设计目录大约只有300-400 mb。
请详细说明处理这种情况的好方法是什么?
P.S:我正在使用bitbucket作为存储库
由于
答案 0 :(得分:1)
我不相信这可以直接使用git,但是,有两个选项:
我建议创建一个单独的存储库,因为分支会破坏实际的分支。例如,如果要将每个组件分支为“MYSITE_V2”,则最终会创建每个分支的分支。可能会变得混乱。
第三种选择是接受此限制。如果您的开发人员只需要克隆一次repo,然后他们推送/拉动更改,则可以减轻带宽问题。只需培训他们,了解他们的工作是在回购的子目录中。他们会明白的。
答案 1 :(得分:1)
根据您的信息,我建议选择以下两种方法之一:
我赞成第一个,因为它会更容易处理。只需创建存储库名称,如“project-app”,“project-design”等。
如果您选择每个组有一个分支,则需要为每个分支设置远程跟踪分支。
如果有人在其中一个分支机构开始长期开发并需要其他人进行协作,那么只需使用各自的存储库,您就只需要担心远程跟踪分支机构。
你甚至可以复制SVN的组织(我觉得这很有帮助),在每个客户端上创建一个/ dir,然后只用他们的“基本”名称检查你需要的存储库,比如
mkdir my_project
cd my_project
git clone https://me@bitbucket.org/me/my_project-app.git app
git clone https://me@bitbucket.org/me/my_project-design.git design
依此类推......所以你的目录结构将与你在SVN中的结构一样,使用/ my_project / app,/ my_project / design等。
因此,您将为每个重点领域提供单独的本地存储库。