【问题标题】:How to move uncommitted changes in a submodule to a new branch如何将子模块中未提交的更改移动到新分支
【发布时间】:2016-09-01 07:27:22
【问题描述】:

我的问题与Moving uncommitted changes to a new branch 部分重复

但是,诀窍是,我对属于子模块的几个文件进行了更改。

例如

My Primary repo: /testing
Sub-module is at: /testing/lib/xyz

我对@9​​87654323@和/testing/lib/xyz/*下的不少文件进行了修改

现在我可以执行 git checkout -b new_branch 并将未提交的更改转移到新分支。但这不会将/testing/lib/xyz/* 下的更改带到新分支,因为该路径属于子模块。

问题:如何将未提交的更改(包括对子模块的更改)移动到新分支。

原因是,我匆忙地对我的主分支中的许多文件进行了一些更改以修复某些问题。现在修复正在起作用,但是,我不想将这些更改合并到 master 中,我也不想松开这些更改。所以我想把这些更改移到一个新的分支上,然后继续在新的分支上工作。但后来我遇到了这个子模块问题。

【问题讨论】:

  • 我不太明白您面临的问题。子模块只是它自己的 git repo。因此,您在两个单独的存储库中进行了更改,并且必然需要在两个存储库中独立地创建新分支。由于主 repo 引用了子模块,因此建议先在子模块中进行更改,但不是必需的。
  • 您只需要在子模块中提交更改(可能到该 repo 中的新分支),然后可以从 .gitsubmodule 中的主 repo 引用它

标签: git git-submodules


【解决方案1】:

子模块是一个 git repo:您可以在那里创建一个分支来引用您的新更改,正如“Moving uncommitted changes to a new branch”中所述。

然后将其内容重置为自己的master 分支。

我建议将该分支推送到子模块远程源仓库,以便避免将这些更改完全保留在本地。

【讨论】:

    猜你喜欢
    • 2012-11-21
    • 1970-01-01
    • 2020-07-28
    • 2021-05-01
    • 2011-03-14
    • 2012-09-22
    • 2011-03-11
    • 2019-02-16
    • 2016-06-06
    相关资源
    最近更新 更多