如何将子模块中的未提交更改移动到新分支中
如何将子模块中的未提交更改移动到新分支中
我的问题部分是移动未提交的更改到新分支的重复。
然而,问题在于,我对一些属于子模块的文件进行了更改。
例如:
我的主要仓库: /testing 子模块位于: /testing/lib/xyz
我对/testing/*
和/testing/lib/xyz/*
下的许多文件进行了更改。
现在我可以执行git checkout -b new_branch
将未提交的更改移到新分支。但是,这不会将/testing/lib/xyz/*
下的更改移到新分支,因为此路径属于子模块。
问题: 我如何将包括对子模块的更改在内的未提交的更改移到新分支。
原因是,匆忙之中,我对主分支中的许多文件进行了许多更改来修复问题。现在修复已经生效,但我不想将这些更改合并到主分支,也不想丢失这些更改。所以我想将这些更改移到一个新分支上,然后继续在新分支上工作。但是我遇到了这个子模块的问题。
如何将未提交的更改移动到一个新的分支中的问题是由以下原因引起的:一个子模块是一个git仓库:你可以在子模块中创建一个分支来引用你的新更改,就像在“移动未提交的更改到一个新的分支”中所解释的那样。然后将其内容重置为自己的主分支。我建议将该分支推送到子模块的远程源仓库,以避免将这些更改完全保留在本地。
解决方法如下:
1. 在子模块中创建一个新的分支。
2. 使用git reset
命令将子模块的内容重置为其自己的主分支。
3. 使用git push
命令将该分支推送到子模块的远程源仓库。
这样,你就成功地将未提交的更改移动到了一个新的分支中,并且将该分支推送到了远程源仓库,以便其他人可以访问和使用这些更改。