跳至主要内容

向代码库添加文件

您可以将现有文件上传并提交到 GitHub 上的代码库,也可以使用命令行。

平台导航

将文件添加到 GitHub 上的仓库

通过浏览器添加到仓库的文件,每个文件大小限制为 25 MiB。您可以通过命令行添加更大的文件,每个文件最多 100 MiB。更多信息,请参阅“使用命令行将文件添加到仓库”。要添加大于 100 MiB 的文件,必须使用 Git 大型文件存储。更多信息,请参阅“关于 GitHub 上的大型文件”。

您可以同时将多个文件上传到 GitHub。

如果仓库有任何受保护的分支,则无法使用 GitHub 编辑或上传受保护分支中的文件。您可以使用 GitHub Desktop 将更改移动到新分支并提交它们。更多信息,请参阅“关于受保护的分支”和“在 GitHub Desktop 中提交和查看项目更改”。

您的仓库可能启用了推送规则集。根据某些限制,推送规则集可能会阻止在仓库中创建新文件。推送规则集适用于仓库的整个 fork 网络。这意味着在根仓库中配置的任何推送规则集也适用于仓库的每个 fork。

您的仓库可能受到推送保护。使用推送保护,如果文件包含受支持的机密(例如令牌),GitHub 将阻止将文件上传到仓库。您应该在尝试再次上传文件之前从文件中删除机密。更多信息,请参阅“在 GitHub UI 中使用推送保护”和“在 GitHub UI 中使用推送保护”。

注意

Web UI 中的文件上传推送保护目前处于公开预览阶段,可能随时更改。

  1. 在 GitHub 上,导航到仓库的主页。

  2. 在文件列表上方,选择**添加文件**下拉菜单,然后单击**上传文件**。或者,您可以将文件拖放到浏览器中。

    Screenshot of the main page of the repository. Above the list of a files, a button, labeled "Add file," is outlined in dark orange.

  3. 要选择要上传的文件,请拖放文件或文件夹,或单击**选择文件**。

  4. 在“提交消息”字段中,键入简短且有意义的提交消息,以描述您对文件所做的更改。您可以在提交消息中将提交归因于多个作者。更多信息,请参阅“创建具有多个作者的提交”。

  5. 在提交消息字段下方,决定是将提交添加到当前分支还是添加到新分支。如果当前分支是默认分支,则应选择为提交创建新分支,然后创建拉取请求。更多信息,请参阅“创建拉取请求”。

    Screenshot of a GitHub pull request showing a radio button to commit directly to the main branch or to create a new branch. New branch is selected.

  6. 单击**提出更改**。

使用命令行将文件添加到仓库

您可以使用命令行将现有文件上传到 GitHub 上的仓库。

此过程假设您已经

警告

切勿git addcommitpush敏感信息(例如密码或 API 密钥)到远程仓库。如果您已经添加了这些信息,请参阅“从仓库中删除敏感数据”。

  1. 在您的计算机上,将要上传到 GitHub 的文件移动到克隆仓库时创建的本地目录中。

  2. 打开终端终端Git Bash

  3. 将当前工作目录更改为您的本地仓库。

  4. 将文件暂存到本地仓库以进行提交。

    $ git add .
    # Adds the file to your local repository and stages it for commit. To unstage a file, use 'git reset HEAD YOUR-FILE'.
    
  5. 提交已暂存到本地仓库的文件。

    $ git commit -m "Add existing file"
    # Commits the tracked changes and prepares them to be pushed to a remote repository. To remove this commit and modify the file, use 'git reset --soft HEAD~1' and commit and add the file again.
    
  6. 将本地仓库中的更改推送到 GitHub.com。

    $ git push origin YOUR_BRANCH
    # Pushes the changes in your local repository up to the remote repository you specified as the origin
    

进一步阅读