将具有多个子文件夹的多个文件夹推送到 GitHub 上的存储库

  • 本文关键字:文件夹 GitHub 存储 git github
  • 更新时间 :
  • 英文 :


我试图将包含子文件夹和文档的多个文件夹推送到我在GitHub上创建的存储库。我做了以下工作:

  • 我进入了包含 8 个子文件夹和 readme.md 的文件夹,其中再次包含不同的子文件夹和文档。

  • 我使用 git init 初始化了文件夹。

  • 然后我使用 git add folder_name将每个文件夹一一添加到 git 中(在暂存区域中(。
  • 我添加的最后一个文件是 readme.md 然后我使用 git commit -m "初始化 readme.md"提交到自述文件。
  • 然后我使用 git push origin master 将其推送到我的 GitHub 存储库。
  • 我在我的存储库中获得了 GitHub 上的所有文件夹,但只有自述文件和最后两个文件夹正确显示,其中有子文件夹和一些文档,其余文件夹没有任何子文件夹,但只有文档显示为灰色文件夹,单击时没有响应。
  • 我已经删除了所有这些灰色文件夹。

但是我想知道如何正确使用 git push 在 GitHub 存储库上发送带有不同子文件夹的文件夹?


还有一个问题:

  • 如何将不同格式的图像或 PDF 文档添加到我的 GitHub 存储库?

您不能添加空目录,您需要用占位符文件填充它。请参阅 Git 常见问题

解答

目前,Git 索引(暂存区域(的设计只允许列出文件,没有人足够有能力进行更改以允许空目录,并且足够关心这种情况来补救它。

在目录中添加文件时,会自动添加目录。也就是说,目录永远不必添加到存储库中,也不会自行跟踪。

你可以说git add <dir>,它会在那里添加文件。

如果你真的需要一个目录存在于结帐中,你应该在其中创建一个文件。 .gitignore 可以很好地用于此目的(还有一个使用 .NET 框架的工具 MarkEmptyDirs,它允许您自动执行此任务(;您可以将其留空或填写您不希望出现在目录中的文件的名称。

如果你添加非文本文件,你可能希望在.gitattributes中将其指定为二进制文件,这样 git 就不会尝试修改(从而损坏(它。

例如。

*.png binary
*.pdf binary

最新更新