Git
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

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

--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 的情况下,<src> 引用仅在 <dst> 不存在或 <dst> 是 <src> 的真子集(即祖先)的情况下存储在远程端。此检查称为“快进检查”,是为了避免意外覆盖远程引用并丢失其他人的提交。

使用 --force,对所有引用都禁用快进检查。

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

GIT

git[1] 套件的一部分

scroll-to-top