git http-push

优质
小牛编辑
125浏览
2023-12-01

名称

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

概要

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

描述

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

注意:如果您的 libcurl 早于7.16,则此命令将暂时禁用,因为组合报告不起作用,有时会损坏存储库。

选项

--all

不要认为远程存储库在当前状态下是完整的,并且验证整个本地ref的历史中的所有对象都存在于远程存储库中。

--force

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

--dry-run

除了实际发送更新之外,请做其他事

--verbose

报告本地行走的对象列表以及成功发送到远程存储库的对象列表。

-d -D

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

  • 远程 HEAD 必须解析为本地存在的对象
  • 指定的分支解析为本地存在的对象
  • 指定的分支是远程 HEAD 的祖先

<ref>…

远程参考更新。

指定参考

<ref>规范可以是一个单一的图案,或一对用冒号分开这样的图案的“:”(这意味着一个裁判名不能在它一个冒号)。一个模式<name>只是一个<name>:<name>简写。

每个模式对由源端(冒号前)和目标端(冒号后)组成。要推送的引用是通过找到匹配源端的匹配来确定的,并且推送的位置由目标端确定。

  • 如果<src>不完全匹配一个本地引用,那是错误的。
  • 如果<dst>与任何远程参考不匹配
-  it has to start with "refs/"; <dst> is used as the destination literally in this case.
-  <src> == <dst> and the ref that matched the <src> must not exist in the set of remote refs; the ref matched <src> locally is used as the name of the destination.

如果没有--force,<src> ref 仅在<dst>不存在的情况下存储在远程,或者<dst>是<src>的真子集(即祖先)。此检查称为“快进检查”,以避免意外覆盖远程参考并丢失其他人的提交。

--force,所有裁判都禁用快进检查。

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