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

时间:2016-02-03 08:26:53

标签: git github

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

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

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

  • 然后我使用git add folder_name将每个文件夹逐个添加到git(在暂存区域中)。
  • 我添加的最后一个文件是readme.md然后我使用git commit -m“Initialize readme.md”提交了自述文件。
  • 然后我使用git push origin master将其推送到我的GitHub存储库。
  • 我在我的存储库中的GitHub上获得了所有文件夹,但只有readme和最后两个文件夹显示正确,其中包含一些文件的子文件夹,剩余的文件夹没有任何子文件夹但只显示了文件灰色的文件夹,点击时没有回复。
  • 我删除了所有灰色的文件夹。

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

还有一个问题:

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

1 个答案:

答案 0 :(得分:0)

您无法添加空目录,需要使用占位符文件填充它。 见Git FAQ

  

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

     

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

     

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

     

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

如果添加非文本文件,您可能希望在.gitattributes中将其指定为二进制文件,以便git永远不会尝试修改(并因此破坏)它。

例如

*.png binary
*.pdf binary