# 创建新文件

你可以直接在 GitHub 上创建新文件到你拥有写入权限的任何存储库中。

在 GitHub 上创建文件时，请注意以下几点：

* 如果尝试在存储库中创建无权访问的新文件，我们会在你的个人帐户中创建该项目的分支，并在你提交更改后帮助你向原始存储库发送[拉取请求](/zh/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)。
* 通过 Web 界面创建的文件名只能包含字母数字字符和连字符 (`-`)。 要使用其他字符，[在本地创建并提交文件，然后将它们推送到 GitHub 上的存储库](/zh/repositories/working-with-files/managing-files/adding-a-file-to-a-repository)。
* 存储库可能已启用推送规则集。 基于某些限制，推送规则集可能会阻止在存储库中创建新文件。 推送规则集会应用于存储库的整个分支网络。 这意味着，根存储库中配置的任何推送规则集也会应用于存储库的每个分支。 有关详细信息，请参阅“[关于规则集](/zh/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets#about-rulesets)”。

> \[!WARNING]
> 切勿将敏感信息（例如密码或 API 密钥）`git add`、`commit` 或 `push` 到远程存储库。 如果已添加此信息，请参阅 [从存储库中删除敏感数据](/zh/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)。

1. 在 GitHub 上，导航到存储库的主页面。
2. 在您的仓库中，浏览到想要创建文件的文件夹。
3. 在文件列表上方，选择“Add file”<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-triangle-down" aria-label="The downwards-facing triangle icon" role="img"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg> 下拉菜单，然后单击“<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-plus" aria-label="plus" role="img"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg> Create new file”\*\*\*\*\*\*\*\*。

   也可在左侧的文件树状视图中单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-plus" aria-label="The plus sign icon" role="img"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg>。

   ![仓库主页的屏幕截图，其中突出显示了“添加文件”和“加号”两个图标（如上所述以橙色框出）。](/assets/images/help/repository/add-file-buttons.png)
4. 在文件名字段中，键入文件的名称和扩展名。 要创建子目录，请键入 `/` 目录分隔符。
5. 在“文件内容”文本框中，键入文件的内容。
6. 要查看新内容，请在文件内容上方单击“预览”。

![处于编辑模式的文件的屏幕截图。 在用于编辑文件内容的文本框上方，标记为“预览”的选项卡以深橙色轮廓显示。](/assets/images/help/repository/new-file-preview.png)

1. 单击“提交更改...”

2. 在“提交消息”字段中，输入简短、有意义的提交消息，以描述对文件的更改。 您可以在提交消息中将提交归于多个作者。 有关详细信息，请参阅“[创建包含多个作者的提交或代表某个组织创建提交](/zh/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors)”。

3. 如果有多个 GitHub电子邮件地址与帐户关联，请单击电子邮件地址下拉菜单，并选择用作 Git 作者电子邮件地址的电子邮件地址。 只有经过验证的电子邮件地址才会出现在此下拉菜单中。 如果启用了电子邮件地址隐私，则使用无回复电子邮件地址作为默认提交作者的电子邮件地址。 有关无回复电子邮件地址可以采用的确切格式的详细信息，请参阅“[设置提交电子邮件地址](/zh/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address)”。

![GitHub 拉取请求的屏幕截图，其中显示了一个下拉菜单，包含用于选择提交作者电子邮件地址的选项。
octocat@github.com 处于选中状态。](/assets/images/help/repository/choose-commit-email-address.png)

1. 在提交消息字段下面，确定是要将提交添加到当前分支还是新分支。 如果当前分支是默认分支，则应选择为提交创建新分支，然后创建拉取请求。 有关详细信息，请参阅“[创建拉取请求](/zh/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)”。

   ![GitHub 拉取请求的屏幕截图，其中显示了一个单选按钮，用于直接提交到主分支或创建新分支。 已选择“新建分支”。](/assets/images/help/repository/choose-commit-branch.png)
2. 单击“提交更改”或“建议更改” 。