英语法语西班牙语

Ad


OnWorks 网站图标

git-receive-pack - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 git-receive-pack

这是 git-receive-pack 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


git-receive-pack - 接收推送到存储库中的内容

概要


git-接收包

商品描述


调用者 混帐 发送包 并使用从提供的信息更新存储库
远端。

此命令通常不会由最终用户直接调用。 协议的 UI 是
混帐 发送包 侧,并且程序对旨在用于将更新推送到
远程存储库。 有关拉取操作,请参阅 git-fetch 包(1)。

该命令允许在
远程端(严格来说,是本地端 git-接收包 运行,但对用户
谁坐在发送包端,它正在更新遥控器。 使困惑?)

还有其他使用更新和更新后挂钩的实际示例,请参见
文档/howto 目录。

git-接收包 尊重 receive.denyNonFastForwards 配置选项,它告诉它是否
如果不是快进,则应拒绝对 ref 的更新。

配置



要同步到的存储库。

预收 HOOK


在更新任何 ref 之前,如果 $GIT_DIR/hooks/pre-receive 文件存在并且是可执行的,它
将不带参数调用一次。 钩子的标准输入将是一行
每个要更新的参考:

sha1-旧 SP sha1-新 SP 引用名称 LF

refname 值是相对于 $GIT_DIR 的; 例如对于主头,这是
“裁判/负责人/大师”。 每个 refname 之前的两个 sha1 值是
refname 更新前后。 要创建的引用将具有 sha1-old 等于 0{40},
而要删除的引用的 sha1-new 将等于 0{40},否则 sha1-old 和
sha1-new 应该是存储库中的有效对象。

接受签名推送时(请参阅 混帐推送(1)),签名的推送证书存储在一个
blob 和环境变量 GIT_PUSH_CERT 可以查询其对象名称。 看
以 post-receive hook 的描述为例。 此外,证书是
使用 GPG 验证,结果使用以下环境变量导出:

GIT_PUSH_CERT_SIGNER
签署推送的密钥所有者的姓名和电子邮件地址
证书。

GIT_PUSH_CERT_KEY
签署推送证书的密钥的 GPG 密钥 ID。

GIT_PUSH_CERT_STATUS
推送证书的GPG验证状态,使用相同的助记符
在 %G 中使用? git log 命令系列的格式(请参阅 混帐日志(1))。

GIT_PUSH_CERT_NONCE
进程要求签名者包含在推送证书中的随机数字符串。 如果
这与推送证书中“nonce”标头上记录的值不匹配,
它可能表明该证书是一个有效的,正在从
单独的“git push”会话。

GIT_PUSH_CERT_NONCE_STATUS

不请自来
当我们没有要求它发送一个随机数时,“git push --signed”发送了一个随机数。

失踪
“git push --signed”没有发送任何随机数标头。


“git push --signed”发送了一个虚假的随机数。

OK
“git push --signed”发送了我们要求它发送的随机数。

斜率
“git push --signed”发送的随机数与我们现在要求它发送的不同,但是
在上一届会议中。 请参阅 GIT_PUSH_CERT_NONCE_SLOP 环境变量。

GIT_PUSH_CERT_NONCE_SLOP
“git push --signed”发送的随机数与我们现在要求它发送的不同,但在一个
不同的会话,其开始时间与
当前会话。 仅当 GIT_PUSH_CERT_NONCE_STATUS 表示 SLOP 时才有意义。 还阅读
关于receive.certNonceSlop中的变量 混帐配置(1)。

在更新任何 refname 和任何快进检查之前调用此钩子
执行。

如果 pre-receive 钩子以非零退出状态退出,则不会执行更新,
并且 update、post-receive 和 post-update 钩子也不会被调用。 这可以
如果不支持更新,可以快速退出。

更新 HOOK


在每个 ref 更新之前,如果 $GIT_DIR/hooks/update 文件存在且可执行,则为
每个 ref 调用一次,带有三个参数:

$GIT_DIR/hooks/update refname sha1-旧 sha1-新

refname 参数是相对于 $GIT_DIR 的; 例如对于主头,这是
“裁判/负责人/大师”。 两个 sha1 参数是之前的 refname 的对象名称
和更新后。 请注意,在更新 refname 之前调用了钩子,因此
sha1-old 要么是 0{40}(意味着还没有这样的 ref),或者它应该匹配什么
记录在 refname 中。

如果钩子想禁止更新命名引用,它应该以非零状态退出。
否则它应该以零退出。

此钩子的成功执行(零退出状态)并不能确保 ref
其实要更新,那只是一个前提。 因此,发送不是一个好主意
来自这个钩子的通知(例如电子邮件)。 考虑使用 post-receive hook。

接收后 HOOK


在所有 ref 更新(或尝试更新)之后,如果有任何 ref 更新
成功,如果 $GIT_DIR/hooks/post-receive 文件存在并且是可执行的,它将是
不带参数调用一次。 钩子的标准输入将为每个
成功更新参考:

sha1-旧 SP sha1-新 SP 引用名称 LF

refname 值是相对于 $GIT_DIR 的; 例如对于主头,这是
“裁判/负责人/大师”。 每个 refname 之前的两个 sha1 值是
refname 更新前后。 创建的引用将具有 sha1-old 等于
0{40},而被删除的引用的 sha1-new 将等于 0{40},否则 sha1-old
并且 sha1-new 应该是存储库中的有效对象。

可以检查 GIT_PUSH_CERT* 环境变量,就像在 pre-receive 钩子中一样,
接受签名推送后。

使用这个钩子,可以很容易地生成描述存储库更新的邮件。
此示例脚本为每个 ref 发送一封邮件消息,列出推送到
存储库,并将具有良好签名的已签名推送的推送证书记录到
记录器服务:

#!/ bin / sh的
# 邮寄提交更新信息。
读取椭圆形 nval 引用时
do
如果 expr "$oval" : '0*$' >/dev/null
然后
echo "创建了一个新的 ref,提交如下:"
git rev-list --pretty "$nval"
其他
echo "新提交:"
git rev-list --pretty "$nval" "^$oval"
菲 |
mail -s "更改引用 $ref" commit-list@mydomain
完成
# 记录签名的推送证书,如果有的话
if test -n "${GIT_PUSH_CERT-}" && test ${GIT_PUSH_CERT_STATUS} = G
然后
(
echo 预期随机数为 ${GIT_PUSH_NONCE}
git 猫文件 blob ${GIT_PUSH_CERT}
) | mail -s "从 $GIT_PUSH_CERT_SIGNER 推送证书" push-log@mydomain
fi
退出0

此挂钩调用的退出代码将被忽略,但非零退出代码将
生成错误消息。

请注意,当此挂钩运行时,refname 可能没有 sha1-new。 这个可以
如果其他用户在更新后修改引用,则很容易发生 git-接收包,
但在钩子能够评估它之前。 建议hooks依赖sha1-new
而不是 refname 的当前值。

更新后 HOOK


在所有其他处理之后,如果至少更新了一个 ref,并且
$GIT_DIR/hooks/post-update 文件存在且可执行,然后将调用 post-update
带有已更新的参考列表。 这可用于实现任何存储库
广泛的清理任务。

忽略此钩子调用的退出代码; 唯一剩下的
git-接收包 那时要做的就是退出自己。

例如,如果存储库是,则可以使用此挂钩运行 git update-server-info
包装并通过笨拙的运输服务。

#!/ bin / sh的
执行 git 更新服务器信息

使用 onworks.net 服务在线使用 git-receive-pack


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    蟒蛇
    蟒蛇
    一组 Python 扩展模块
    包装跨平台的 GUI 类
    wxWidgets.. 受众:开发人员。 用户
    界面:X Window System (X11), Win32 ...
    下载 wxPython
  • 2
    包文件管理器
    包文件管理器
    这是全面战争包文件管理器
    项目,从 1.7 版开始。 一种
    Warscape 简介
    改装:...
    下载包文件管理器
  • 3
    IPerf2
    IPerf2
    一种网络流量测量工具
    TCP 和 UDP 性能与指标
    围绕吞吐量和延迟。 这
    目标包括保持积极的
    iperf 鳕鱼...
    下载IPerf2
  • 4
    fre:ac - 免费的音频转换器
    fre:ac - 免费的音频转换器
    fre:ac 是一个免费的音频转换器和 CD
    各种格式和编码器的开膛手。
    它具有 MP3、MP4/M4A、WMA、Ogg
    Vorbis、FLAC、AAC 和 Bonk 格式
    支持, ...
    下载 fre:ac - 免费的音频转换器
  • 5
    Matplotlib
    Matplotlib
    Matplotlib 是一个综合性的库
    用于创建静态、动画和
    Python 中的交互式可视化。
    Matplotlib 使简单的事情变得容易和
    难事...
    下载 Matplotlib
  • 6
    机器人
    机器人
    编写一次您的聊天机器人逻辑,然后
    将其连接到可用的之一
    消息服务,包括亚马逊
    Alexa、Facebook Messenger、Slack、
    电报甚至你...
    下载机器人
  • 更多 ”

Linux 命令

Ad