gpt4 book ai didi

git - 检查过去的 git 子模块提交

转载 作者:太空狗 更新时间:2023-10-29 13:03:25 26 4
gpt4 key购买 nike

我正在从事一个有许多子模块的项目。昨天,一切都很顺利,应用程序正在运行等等。今天早上我运行 git submodules update 后,我在应用程序中收到一个错误。

$ git submodule update
Submodule path 'vendor/plugins/pluginA': checked out '49d5cba84dcffc061db69813162d103feef31ecb'
Submodule path 'vendor/plugins/pluginB': checked out '4f442f0448c1826252933d5af8fb33cd64d76f6e'

那么,在等待问题得到解决的同时,我该如何检查子模块的先前版本呢?我已经看到了多个解决方案引用,但没有真正看到具体提到这种情况的示例。

谢谢!

编辑: 如果你也能帮助我理解/解决这个问题(如何让 pluginApluginB 引用 heads/master再次):

$ git submodule status
49d5cba84dcffc061db69813162d103feef31ecb vendor/plugins/pluginA (49d5cba)
4f442f0448c1826252933d5af8fb33cd64d76f6e vendor/plugins/pluginB (4f442f0)
558fd1a762d63562689e58cac50283192fde74d5 vendor/plugins/pluginC (heads/master)
4feb2c51148ebc4d4f80f9a64b9eabbfde5b13a3 vendor/plugins/pluginD (heads/master)
19dce61e256b0fc3f05342cdd3e4d21a434c0b87 vendor/plugins/pluginE (heads/master)

最佳答案

$ git submodule update
Submodule path 'vendor/plugins/pluginA': checked out '49d5cba84dcffc061db69813162d103feef31ecb'
Submodule path 'vendor/plugins/pluginB': checked out '4f442f0448c1826252933d5af8fb33cd64d76f6e'

表示您已经执行了 git pull,将文件和子模块提取并 merge 到您的项目中。
上游项目(您 pull 的那个)中那些子模块的 SHA1 已更改。

你可以改回它们(projectA 中的 git checkout aref,然后是 cd ..git add -A; git commit -m "advance submodule to aref" ),如果需要,将这些子模块 ref 推回(或不推回)上游。

如果您需要知道在 submodule 更新之前您的子模块的确切 SHA1 是什么,只需执行 git show previousProjectSHA1 (previousProjectSHA1 是主项目更新前的 SHA1

你会看到这样的东西:

new file mode 160000
index 0000000..4c4c5a2

那个 (4c4c5a2) 是您需要将它们恢复到以前状态的子模块 SHA1。

参见 git submodule update SO 问题以了解更多关于子模块的性质。

关于git - 检查过去的 git 子模块提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2297899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com