在git中管理多个项目的最佳方法是什么?

时间:2018-03-22 08:55:23

标签: git svn project-management

我在SVN有十个项目彼此独立。现在我想迁移到git。为了维护git中的所有项目,这样做的最佳方法是什么。 SVN中的所有十个项目都不依赖于彼此,并且所有项目都使用不同的语言,如Java,C#,......

5 个答案:

答案 0 :(得分:2)

以下是我在你的问题上清楚的事情:

  1. 所有项目都是独立的。
  2. 您可能拥有访问每个项目的不同用户组,并且您必须维护不同用户集的权限。
  3. 根据这些事情,请找到我的建议:

    1. 最好为Git中的每个项目维护一个单独的仓库
    2. 您可以限制处理每个项目的用户组
    3. 很容易拉出与特定项目相关的代码,例如C#copy,你可以使用C#repo在Visual Studio中获取它。对于Java拷贝,你可以使用Java Repo在eclipse中获取它。

答案 1 :(得分:0)

我认为您应该将所有项目转换为git。

如何执行此操作:How do I migrate a SVN repo with history to a new git repo

如果您需要本地安装,可以查看GitLab CE gitlab

答案 2 :(得分:0)

如果您的项目是独立的,完全无关,并且永远不会在一起进行交互,那么无论如何都没有人需要提取多个项目,只需将它们保存为10个存储库。

如果您有一个独立但相关的项目,您希望在"解决方案"仍然创建10个存储库,但查看Git子模块,以便您拥有一个与其他git存储库有关系的父存储库

方法1:

Cleanly Migrate Your Subversion Repository To a GIT Repository

方法2:

如果你有本地源代码,你想要添加到一个新的远程新git存储库而不用克隆'首先是远程,执行以下操作(在bitbucket / github中创建空的远程存储库等,然后推送你的源代码)

  1. 创建远程存储库,并获取git://github.com/youruser/somename.git(或任何远程主机存储库服务)等URL

  2. 在本地,位于源的根目录,

    git init

  3. 在本地,在初始仓库中添加并提交您想要的内容(适用于所有内容,

    git add .

    git commit -m 'initial commit comment')

  4. 将您的远程仓库附加名称' origin' (就像克隆一样)

    git remote add origin [URL From Step 1]

  5. 推高你的主分支(将主人改为其他分支的其他东西):

    git push -u origin master

答案 3 :(得分:0)

我建议为每个项目创建一个单独的git存储库。

但是,如果您需要将存储库组合在一起,以便开发团队可以轻松检出整个技术堆栈,则可以使用Git Sub Modules

git submodule add <Project1_url>
git submodule add <Project2_url>

这将创建一个.gitmodules文件,如果需要,可以编辑

答案 4 :(得分:0)

我们有一个类似的用例,SVN中存在不同的技术项目。我们遵循相同的结构,并在GIT中创建了一个项目和一个存储库。然后,当各个团队开始处理他们的模块时,或者如果构建作业只需要来自git repo的特定签出,则使用稀疏签出。