如何在GitHub存储库中创建文件夹?

674
我想在GitHub存储库中创建一个文件夹,然后将文件添加到该文件夹中。 我该如何实现这个目标?

8
虽然这是一个很旧的问题,但对某些人仍可能节省时间。下面的链接是一个回答,提到如何在Github网站本身上创建文件夹。https://dev59.com/u2Ml5IYBdhLWcg3wAC2h - Nikhilesh
1
@Melebius,我认为应该将重复标志设置为您刚提到的其他问题,因为这个问题是一年前首先被提出的,早于您提到的问题。 - Innat
1
据我所知,重复的目标应该是更清晰的问题和/或具有更有用答案的问题。时间标准并不那么重要。 - Melebius
https://github.com/KirstieJane/STEMMRoleModels/wiki/Creating-new-folders-in-GitHub-repository-via-the-browser - Yusril Maulidan Raji
另一个 Stack Overflow 问题,"Creating folders inside a GitHub repository without using Git",有一个回答可以通过 仅使用 Web 界面 来完成。 - Peter Mortensen
17个回答

586

TL;DR 在文件名字段中使用/创建文件夹,例如在文件名字段中键入folder1/file1将创建一个名为folder1的文件夹和一个名为file1的文件。

原始答案
您不能创建一个空文件夹,然后再向该文件夹添加文件,而是必须同时创建文件夹并添加至少一个文件。这是因为Git不跟踪空文件夹。

在GitHub上,您可以这样做:

  • 进入你想要创建文件夹的文件夹
  • 点击新建文件
  • 在文件名的文本框中,首先写上你想要创建的文件夹名称
  • 然后输入/。这将创建一个文件夹
  • 你可以类似地添加更多文件夹
  • 最后,给新文件命名(例如.gitkeep,它被传统地用来让Git跟踪否则为空的文件夹;虽然这不是Git的功能)
  • 最后,点击提交新文件

+下拉菜单显示“新目录”。也许他们最近添加了这个? - jim
无论我尝试使用哪种新文件夹名称、新文件名称/扩展名/内容的组合,都会出现错误提示:“抱歉,在您尝试创建子目录的位置已经存在一个文件。请选择一个新路径并重试。” - Denver Thomas
有没有办法在终端的命令行上完成这个操作?谢谢。 - Abdul-Kareem Abdul-Rahman
@jim 我的上面没有显示出来。可能是一个A/B测试或其他什么原因。对于git来说,创建一个新目录实际上并没有什么意义,因为git不会跟踪空目录,所以我也不知道为什么会存在这个功能。 - wjandrea
@Abdul 你是在找git add吗?否则,我不确定你所说的"this"是什么意思 -- 也许你是指一步创建文件及其包含的目录?我想在Unix上没有办法做到这一点。 - wjandrea

262

Git不会存储空文件夹。只需确保文件夹中有一个文件,如doc/foo.txt,并运行git add docgit add doc/foo.txt,一旦提交,该文件夹将被添加到您的本地仓库(并在推送后出现在GitHub上)。


4
如果您按照GitHub建议的方式设置代码库,那么推送到远程仓库时应该使用命令“git push origin master”,其中"origin"是远程代码库的默认名称,"master"是您的分支的默认名称。 - moopet
7
这是一个更好的解决方案:https://github.com/KirstieJane/STEMMRoleModels/wiki/Creating-new-folders-in-GitHub-repository-via-the-browser - Gabriel Ferraz
1
@GabrielFerraz,那不是更好的解决方案,只是使用GitHub GUI而已! - moopet
1
@moopet 或许不是更好(因为结果相同),但更简单、更快速。 - Gabriel Ferraz
1
完全同意你的观点,moopet,关于通用方法。但目前可用的浏览器方法让我的生活变得如此轻松,以至于我甚至不需要下载或上传任何文件、文件夹到我的本地计算机,我可以直接在GitHub网站上完成所有操作。话虽如此,我必须再次承认,如果我已经设置了本地git仓库,则更喜欢使用命令行方法。 - Chinmay
显示剩余4条评论

59

如果您使用的是Web浏览器,可以按照以下步骤操作:

  • 进入主存储库后,单击创建新文件
  • 在顶部的文件名称框中输入文件夹的名称
  • 在文件夹的名称后使用/键。使用此正斜杠创建文件夹
  • 您将看到一个新方框出现在文件夹名称旁边,您可以在其中键入文件的名称。
  • 在页面底部的提交新文件框中,您可以键入文件的描述。
  • 选择单选按钮直接提交到master分支
  • 单击提交新文件按钮
  • 您将看到新目录已被创建。

44

简单步骤:

步骤1:点击创建新文件

在“添加文件”下拉菜单中单击“创建新文件”


步骤2:输入您想要的文件夹名称,然后按/

在文本字段中输入文件夹名称


步骤3:输入示例文件名。您必须输入一些文本。

输入示例文件名


步骤4:单击提交新文件以创建文件夹

单击“提交新文件”


步骤5:您的文件夹已创建!

文件夹出现在存储库主页中


请裁剪截屏图片!我们不需要看到您的任务栏图标和其他所有内容。目前为止,大部分文本在嵌入的图像中都无法辨认出来。 - wjandrea

42

首先,您需要将存储库克隆到本地计算机。

git clone github_url local_directory

那么你可以在你的local_directory中创建本地文件夹和文件,并使用以下方式将它们添加到仓库中:

git add file_path

你也可以使用以下方式添加所有内容:

git add .

请注意,Git不跟踪空文件夹。解决方法是在要跟踪的空文件夹中创建一个文件。我通常会将该文件命名为empty,但您可以选择任何名称。

最后,您需要提交并推送回GitHub:

git commit
git push

如果您想了解更多关于Git的信息,请查看Pro Git这本书。


这是创建Git存储库中文件夹的“自下而上”方法,尽管此方法是先创建本地文件夹/文件,然后提交并推送到远程,而被接受的答案是“自上而下”的方法,在远程GitHub上创建文件夹/文件。 - Carlo Carandang

10

创建一个新文件,然后在文件名中使用斜杠。例如:

Java/Helloworld.txt


3
我认为这并没有很清楚地回答问题,也没有给现有答案增加什么内容。 - moopet
2
不,它很有用。 - Quidam
1
你所说的“然后在文件名上使用斜杠”是什么意思?能否详细说明一下?提供一张截图可能会有帮助。 - Peter Mortensen

4

在 GitHub 网站上,点击新建文件。然后将文件名写成 myfolder/myfilename,并添加文件内容后提交。这样就会在新的文件夹中创建文件。


4
您只需在本地仓库中创建所需的文件夹。例如,您可以创建 appconfig 目录。
您可以在这些文件夹下创建新文件。
对于 Git 规则:
  1. 首先需要将文件添加到目录中。
  2. 然后提交这些已添加的文件。
Git 命令执行提交操作:
  1. git add app/ config/
  2. git commit
然后输入提交消息并保存提交。
最后将其推送到远程仓库,
git push origin remote

我在本地仓库中添加了一个名为“foo”的文件夹,并在其中添加了一个文件。使用git add foo命令并提交更改。然后使用git remote add foo <URL>命令,最后使用git push foo master命令。但是最后一个命令显示了一个错误。请问我做错了什么? - Sagar
1
不需要执行“git remote add”。在添加了“git add foo/”之后,执行“git commit”,它会要求输入提交信息。然后使用“git push origin master”进行推送。 - Mohanraj

4

实际上,GitHub不会创建空文件夹。

例如,在 C:\Users\Username\Documents\GitHub\Repository 中创建一个文件夹的步骤如下:

  • 创建名为docs的文件夹

  • docs下创建名为index.html的文件

  • 打开GitHub桌面应用程序

    它会自动同步,然后文件夹就会出现在那里。


3
只需将文件夹从Windows资源管理器拖到您的浏览器中,显示github上传文件的位置 - 现在文件夹将自动添加...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接