我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: Enterprise Server 2.15

此版本的 GitHub Enterprise 将停止服务 此版本的 GitHub Enterprise 已停止服务 2019-10-16. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

推送提交到远程仓库

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

git push 命令使用两个参数:

例如:

git push  <REMOTENAME> <BRANCHNAME> 

例如,您通常运行 git push origin master 来推送本地更改到在线仓库。

重命名分支

要重命名分支,同样使用 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://主机名/octocat/repo
>  * [new branch]      master     -> upstream/master

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

有关使用复刻的更多信息,请参阅“同步复刻”。

延伸阅读

问问别人

找不到要找的内容?

联系我们