简体中文 ▾ 主题 ▾ 最新版本 ▾ git-http-push 最后更新于 2.43.0

名称

git-http-push - 通过 HTTP/DAV 将对象推送到另一个仓库

概要

git http-push [--all] [--dry-run] [--force] [--verbose] <URL> <ref> [<ref>…​]

描述

将缺失的对象发送到远程仓库,并更新远程分支。

注意:如果您的 libcurl 版本低于 7.16,此命令将被暂时禁用,因为据报告此组合无法正常工作,有时还会损坏仓库。

选项

--all

不假设远程仓库当前状态是完整的,并验证本地引用的整个历史记录中所有对象都存在于远程仓库中。

--force

通常,命令会拒绝更新不是用于覆盖它的本地引用的祖先的远程引用。此标志禁用该检查。这意味着远程仓库可能会丢失提交;请谨慎使用。

--dry-run

执行所有操作,但实际上不发送更新。

--verbose

报告本地遍历的对象列表以及成功发送到远程仓库的对象列表。

-d
-D

从远程仓库中删除 <ref>。指定的远程分支不能是远程 HEAD。如果指定了 -d,还必须满足以下其他条件:

  • 远程 HEAD 必须解析为本地存在的一个对象

  • 指定的远程分支必须解析为本地存在的一个对象

  • 指定的远程分支是远程 HEAD 的祖先

<ref>

要更新的远程引用。

指定引用

<ref> 规范可以是单个模式,也可以是用冒号 ":" 分隔的两个此类模式(这意味着引用名称不能包含冒号)。单个模式 <name> 只是 <name>:<name> 的简写。

每对模式 <src>:<dst> 由源端(冒号之前)和目标端(冒号之后)组成。要推送的引用通过查找匹配源端的模式来确定,而要推送到哪里则通过使用目标端来确定。

  • 如果 <src> 不完全匹配本地引用之一,则会报错。

  • 如果 <dst> 不匹配任何远程引用,则:

    • 它必须以 "refs/" 开头;在这种情况下,<dst> 被用作字面意义上的目标。

    • <src> == <dst> 并且匹配 <src> 的引用在远程引用集中不存在;匹配 <src> 的本地引用用作目标的名称。

在没有 --force 的情况下,只有当 <dst> 不存在,或者 <dst> 是 <src> 的真子集(即祖先)时,<src> 引用才会被存储在远程。此检查称为“快进检查”,用于避免意外覆盖远程引用而丢失他人提交。

使用 --force 时,将禁用所有引用的快进检查。

可选地,可以在 <ref> 参数前加上加号 +,仅禁用该引用的快进检查。

GIT

Git[1] 套件的一部分