gpt4 book ai didi

GitHub 不允许我访问子文件夹

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

短:

GitHub 已将我无法访问的存储库中的文件夹显示为灰色。这让我很担心,因为我的代码更改在这些文件夹中!

长:

我正在开发 ZF2 网络应用程序并使用 git 进行源代码管理。 ZF2 是模块化的,所以不知何故(最有可能使用 composer.phar 或可能使用 git clone)我已经将一些 ZF2 模块下载到项目子文件夹中。一个这样的 ZF2 模块是 vendor/coolcsn/csn-user。我对该 ZF2 模块进行了更改。

问题 1:当我运行 git status 时,我得到这个:

$ git status
# On branch master
# Changes not staged for commit:
# modified: vendor/coolcsn/csn-user (modified content, untracked content)

当我运行 git commit 时,它显示“没有添加到提交的更改”。我确实做了一些改变。

然后我发现我可以将我的目录更改为 vendor/coolcsn/csn-user,然后在那里执行 git status 和 git commit。然后我可以改回项目的根目录,并在那里做一个 git commit。然后,一切都很好....直到:

问题 2:直到我对 GitHub 进行 git 推送。在 GitHub 上我的整个项目似乎都已到位,但是 vendor/coolcsn/csn-user 在 GitHub 上无法访问!它变灰了。我无法点击它。这让我哭。我不知道为什么,也不知道发生了什么。我读过一些关于 git 子模块的文章。我不知道我是否有 git 子模块或者它们是否是其他东西。我自己并没有有意识地设置任何子模块。无论哪种方式,我都担心我的 GitHub 子模块更改没有被跟踪,或者如果它们被跟踪,它们是 stash 的,无法查看。

可能的解决方案#1:我认为我可以删除子模块中的 .git 文件夹(如果它们是子模块)并直接提交到 GitHub,而我的 csn-user 文件夹可能不存在变灰了。但在我这样做之前,我听说这是不可取的,我想检查所有发生的事情,以及如何正确使用 git 和 GitHub 以及子模块,并在同时。

特别是寻找一组步骤、说明或想法,以了解如何使用 git 和 GitHub 使我的存储库可访问和可提交。

最佳答案

您似乎在使用存储库中的子模块。运行 git submodule status 以查看正在使用的子模块。

“问题 1”,您对提交的混淆,是由于将更改提交到根存储库与提交到子模块存储库之间的差异。听起来您正在提交子模块存储库,然后更新根存储库以将其子模块指向该新提交。如果您不发布这些提交,这可能会有问题,因为没有其他人能够找到它们,然后应该检查根存储库并想要获取它所依赖的子模块。

Github 正确地没有显示这些目录的内容,因为它们是对其他存储库中特定提交的引用,而不是根存储库本身的一部分。

虽然您可以将所有这些文件检入到您的根存储库中,但这听起来确实很危险。这样做会破坏有关这些子文件夹内容来源的信息。没有其他人(包括将来的您)能够轻松识别该内容的来源或您从这些存储库中获取的修订版本。

关于GitHub 不允许我访问子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19917136/

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