繁体   English   中英

Git子模块和变基

[英]Git submodules and rebase

使用git 1.8.1。 我有git项目的上游和本地仓库。它有一个子模块(哈希A)。 然后,我在本地将其分支到分支“功能”(并具有哈希A子模块)。

  1. 拉一些更改并将子模块新哈希(B)放入master分支。
  2. 然后我根据主分支(带有子模块哈希B)对功能(带有子模块哈希A)进行重新设置

当我从分支“功能”切换到分支“主”时,我看到子模块哈希不受影响,对于主模块仍然是B,对于功能是A。 所以我需要每次手动更新。

如何在不创建新提交的情况下将“功能”分支更新为新的子模块哈希(B)?

因此,您想将整个子模块从linux-kernel更改为emacs ,并且git不会注意到它,而就好像什么都没有改变一样?

那是不可能的,因为每一个承诺与自己注册的提交(散),此时提交作出当所有的子模块那样,你可以安全地假设在每一个git仓库最新具有独特的哈希每次提交。 因此,如果子模块被更改并且您运行git submodule update --init --recursive则git会在其子模块的任何子模块中找不到它要查找的提交时抱怨(例如在功能分支的HEAD的哈希B中)。 git submodule update --init --recursive

我建议您首先将子模块放入您的工作流程中,然后仔细研究并了解它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM