跳至主要内容

将文件添加到仓库

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

平台导航

将文件添加到 GitHub 上的仓库

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

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

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

您的仓库可能启用了推送规则集。推送规则集可能会根据某些限制阻止在仓库中创建新文件。推送规则集适用于仓库的整个 fork 网络。这意味着在根仓库中配置的任何推送规则集也将应用于仓库的每个 fork。有关更多信息,请参阅“关于规则集”。

注意

推送规则集处于测试阶段,可能会发生变化。

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

注意

Web UI 中的文件上传推送保护目前处于测试阶段,可能会发生变化。

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

  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.com 上的仓库。

此过程假设您已经

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

  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
    

进一步阅读