【问题标题】:Cant see new repository after git subtree splitgit subtree split 后看不到新的存储库
【发布时间】:2014-04-10 14:55:16
【问题描述】:

我有一个使用一些自制“模块”的项目。我想将这些模块放在单独的(只读)存储库中。我试图用subtree split 命令来做到这一点。但是我在任何地方都看不到我的新分支存储库。

我首先运行了这个命令:

git subtree split --prefix=src/Modules/Infra --branch=infra --annotate='Infra folder split' --rejoin master

然后使用 Github GUI 客户端(我在 Windows 上)我同步了待处理的更改。

但我看不出有什么不同。我的 Github 帐户中不应该有一个名为 infra 的新存储库吗?这就是我想要实现的目标......我还需要做些什么才能让它发挥作用吗?

【问题讨论】:

    标签: git github git-subtree


    【解决方案1】:

    仅运行该命令不会在 Github 中创建新项目,它只会创建一个单独的提交树,其中您的 --prefix 目录是根目录而不是子目录。

    运行该命令将输出一个哈希,它是新拆分树的最后一次提交。也就是可以在 Github 中推送到新项目中的提交,但是您必须手动创建新项目。

    # First create a new empty Github project
    
    # In your original repository add it as a remote
    git remote add subtree_repo path/to/github/repo
    
    # push the split commit hash into the new project as master
    git push subtree_repo subtree_hash:master
    

    如果您不再拥有哈希,请检查由git subtree split 命令创建的提交。由于您使用了--rejoin,因此创建了一个提交,将拆分树合并到您的master 分支中。该提交的父母之一是您想要的拆分树。

    一些额外的subtree documentation

    【讨论】:

      猜你喜欢
      • 2016-02-23
      • 2014-01-25
      • 1970-01-01
      • 2020-07-22
      • 1970-01-01
      • 2014-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多