English ▾ 主题 ▾ 最新版本 ▾ 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

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

--force

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

--dry-run

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

--verbose

报告正在本地行走的对象的列表,以及成功发送到远程仓库的对象的列表。

-d
-D

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

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

  • 指定的分支解析为本地存在的对象

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

<ref>…​

要更新的远程 ref。

指定引用

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

每个模式对 <src>:<dst> 由源侧(冒号前)和目标侧(冒号后)组成。 要推送的 ref 通过查找与源侧匹配的匹配项来确定,以及它被推送到的位置通过使用目标侧来确定。

  • 如果 <src> 没有完全匹配本地 ref 中的一个,则会出错。

  • 如果 <dst> 没有匹配任何远程 ref,则

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

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

如果没有 --force,只有当 <dst> 不存在,或者 <dst> 是 <src> 的适当子集(即祖先)时,<src> ref 才存储在远程。 此检查称为“快速转发检查”,用于避免意外覆盖远程 ref 并丢失其他人的提交。

使用 --force,快速转发检查对于所有 ref 禁用。

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

GIT

属于 git[1] 套件的一部分

scroll-to-top