代码之家  ›  专栏  ›  技术社区  ›  Jauder Ho

从Gitorious导入Github?

  •  11
  • Jauder Ho  · 技术社区  · 16 年前

    有没有人尝试过或想出如何将一个gitorious回购导入github?我已经使用了Github,想看看是否有一种方法可以从Github的一个Githorious回购协议中提取资金。

    4 回复  |  直到 9 年前
        1
  •  25
  •   Greg Hewgill    16 年前

    这与在Github上创建存储库的常规方法有何不同?

    1. 从Gitorious克隆存储库
    2. 在Github上创建新的存储库
    3. 将存储库推到Github

    Github一开始并不关心存储库来自何处,它只接受您向其推送的任何内容。

        2
  •  7
  •   Aleksandr Levchuk Wes    14 年前

    在GitHub上创建一个新的存储库后,网站会立即为您提供3个优雅的个性化指令集。三种不同的选择是:

    1. 开始新项目的工作
    2. 推送现有Git存储库 -这是你想要的
    3. 推送现有SVN存储库

    如果我的用户名是 用户1 新回购被称为 项目1 ,下面是它将要说的:

    现有的Git回购?

    cd existing_git_repo
    git remote add origin git@github.com:user1/project1.git
    git push -u origin master
    
        3
  •  6
  •   kogorman    12 年前

    已经给出的答案将只导入master-如果您要导入整个repo,包括所有分支、标签等,则需要执行以下操作:

    • 创建空白Github回购
    • 使用--bare标志克隆gitorious repo-这将保留所有分支/标记,并且不会创建工作副本:

      $ git clone --bare git://gitorious.org/USER/REPO.git
      
    • 将目录更改为本地回购:

      $ cd therepo.git
      
    • 使用--mirror标志将repo推送到github,这将复制所有分支、标签、历史记录等:

      $ git push --mirror git@github.com:USER/REPO.git
      
    • 删除本地副本-您不再需要它,它对任何东西都没有多大用处

      $ cd .. && rm -rf therepo.git
      

    完成后,可以使用 git remote rm/add 上述命令。

        4
  •  2
  •   Musikolo jpatokal    9 年前

    前面的答案是正确的,但这里是一步一步的过程,包括将本地副本从Gitorious中解链接的缺失步骤;没有它,您将得到错误。 fatal: remote origin already exists 当您尝试将GitHub添加为新的源站时。

    1. 在Github上创建空目标回购
    2. 将repo从gitorious克隆到本地
    3. 删除源代码为gitorious
    4. 将GitHub添加为新原点
    5. 推特

    命令:

    git clone git://gitorious.org/USER/REPO.git
    cd REPO
    git remote rm origin
    git remote add origin https://github.com/USER/REPO.git
    git push --mirror https://github.com/USER/REPO.git
    

    显然,您需要替换用户和repo,并且在创建Github repo时,在步骤1之后为您提供了最后两个命令。