短的:
GitHub 已将我无法访问的存储库中的文件夹灰显。这让我很担心,因为我的代码更改在这些文件夹中!
长:
我正在开发一个 ZF2 Web 应用程序并使用 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 push。在 GitHub 上,我的整个项目似乎已经到位,但vendor/coolcsn/csn-user
在 GitHub 上无法访问!它是灰色的。我无法点击它。这让我哭。我不知道为什么,也不知道发生了什么。我读过一些关于 git 子模块的东西。我不知道我是否有 git 子模块或者它们是否是其他东西。我自己并没有有意识地设置任何子模块。无论哪种方式,我都担心我的 GitHub 子模块更改没有被跟踪,或者如果它们被跟踪,它们是隐藏的,无法查看。
可能的解决方案#1:我认为我可以删除子模块中的 .git 文件夹(如果它们是子模块)并直接提交到 GitHub,我的csn-user
文件夹可能不会变灰。但在我这样做之前,我听说这是不可取的,我想检查一下发生了什么,以及如何正确使用 git 和 GitHub 和子模块,并在同时。
特别是,寻找一组关于如何使用 git 和 GitHub 保持我的 repo 可访问和可提交的步骤、说明或想法。