Skip to main content

此版本的 GitHub Enterprise 已停止服务 2022-10-12. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

推送提交到远程仓库

使用 git push 将本地分支上的提交推送到远程存储库。

关于 git push

git push 命令采用两个参数:

  • 远程名称(例如 origin
  • 分支名称(例如 main

例如:

git push  <REMOTENAME> <BRANCHNAME> 

假设� 通常运行 git push origin main 将本地更改到联机存储库。

重命名分支

若要重命名分支,同� �使用 git push 命令,但要� 上一个或多个参数:新分支的名称。 例如:

git push  <REMOTENAME> <LOCALBRANCHNAME>:<REMOTEBRANCHNAME> 

这会将 LOCALBRANCHNAME 推送到 REMOTENAME,但它已重命名为 REMOTEBRANCHNAME

处理“非快进”错误

如果存储库的本地副本未同步或“落后于”� 推送到的上游存储库,� 会收到一条消息:non-fast-forward updates were rejected。 这意味着必须检索或“提取”上游更改,然后才可推送本地更改。

有关此错误的详细信息,请参阅“处理非快进错误”。

推送� �记

默认情况下,没有其他参数时,git push 会发送所有名称与远程分支相同的匹配分支。

要推送单一� �记,可以发出与推送分支相同的命令:

git push  <REMOTENAME> <TAGNAME> 

要推送所有� �记,可以输入命令:

git push  <REMOTENAME> --tags

� 除远程分支或� �记

� 除分支的语法初看有点神秘:

git push  <REMOTENAME> :<BRANCHNAME> 

请注意,冒号前有一个空� �。 命令与重命名分支的步骤类似。 但这里是指示 Git 不要将任何内容推送到 REMOTENAME 上的 BRANCHNAME。 � 此,git push 会� 除远程存储库上的分支。

远程和复刻

� 可能已经了解可以为 GitHub 上的存储库“创建分支”

在克隆拥有的存储库时,向其提供远程 URL,指示 Git 到何处提取和推送更新。 如果要协作处理原始存储库,可将新的远程 URL(通常称为 upstream)添� 到本地 Git 克隆:

git remote add upstream  <THEIR_REMOTE_URL> 

现在可以从其分支提取更新和分支:

git fetch upstream
# Grab the upstream remote's branches
> remote: Counting objects: 75, done.
> remote: Compressing objects: 100% (53/53), done.
> remote: Total 62 (delta 27), reused 44 (delta 9)
> Unpacking objects: 100% (62/62), done.
> From https://hostname/octocat/repo
>  * [new branch]      main     -> upstream/main

在完成本地更改后,可将本地分支推送到 GitHub 并发起拉取请求

有关使用分支的详细信息,请参阅“同步分支”。

延伸阅读