gpt4 book ai didi

Git 无法推送另一个 git 项目的文件夹部分

转载 作者:太空狗 更新时间:2023-10-29 14:32:46 25 4
gpt4 key购买 nike

我刚刚在我的项目中使用 composer 更新了 elephant.io,我试图将它推送到远程,但是当我这样做时,git 似乎将 elephant.io 目录视为一个文件,但它没有推送它?这是一个错误吗?我在 bitbucket 上使用 git 1.7.11。

编辑

可能不是问题所在,而是其他原因。正在做:

git ls-files --stage | grep 160000

我明白了

160000 8e151a58e931c87ef1b7d2d2124f5b8d79637d1e 0   vendor/wisembly/elephant.io

**编辑2:解决方案**最后一个问题是我在 git 中包含了 vendor 文件夹,错误来自于他们的 .git 配置附带的 packagest。忽略供应商文件夹可以解决问题。感谢 Sven 和 Vonc

最佳答案

因为 elephant.io 是一个 submodule 带有 special entry 160000 8e151a58e931c87ef1b7d2d2124f5b8d79637d1e,您需要确保:

  • 您已经添加、提交并推送了在 elephant.io 中所做的任何修改

      cd vendor/wisembly/elephant.io
    git add .
    git commit -m "my modifs to elephant.io"
    git push
  • 然后您将返回到父存储库,添加并提交新的特殊条目 SHA1:

     cd ..
    git add .
    git commit -m "new revision of elephant.io"
    git push

但这只有在您有权返回 elephant.io 时才有效(或者您不应该对其进行任何修改,或者至少您的子模块应该引用 你拥有的 elephant.io)。

无论如何,需要明确的是,elephant.io 被“未”推送与其名称中有一个点这一事实无关。

作为suggested通过 Sven ,因为 composer 会处理依赖关系,所以您可以简单地忽略 vendor 文件夹。这将使这些子模块从父仓库中不可见。

关于Git 无法推送另一个 git 项目的文件夹部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23882794/

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