【问题标题】:Pushing multiple folders with multiple sub folders to a repository on GitHub?将具有多个子文件夹的多个文件夹推送到 GitHub 上的存储库?
【发布时间】:2016-05-12 08:19:14
【问题描述】:

我试图将包含子文件夹和文档的多个文件夹推送到我在 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 上的存储库中获取了所有文件夹,但只有自述文件和最后两个文件夹正确显示,其中包含带有一些文档的子文件夹,其余文件夹没有任何子文件夹但仅显示文档灰色文件夹,点击时没有响应。
  • 我已删除所有灰色文件夹。

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


还有一个问题:

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

【问题讨论】:

标签: git github


【解决方案1】:

你不能添加空目录,你需要用占位符文件填充它。 见Git FAQ

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

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

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

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

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

例如。

*.png binary
*.pdf binary

【讨论】:

    猜你喜欢
    • 2017-11-29
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 2021-11-02
    • 2011-01-16
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多