相关疑难解决方法(0)

git中裸共享存储库的概念

我一直面临着理解裸存储库的困难.我到处都读到共享的回购是一个简单的回购.为什么它必须是一个简单的回购?它不能是合作者克隆然后推/拉的正常回购吗?

git repository git-bare

7
推荐指数
1
解决办法
2176
查看次数

使用GitLab自定义收发后文件

我正在尝试替换我的后接收挂钩,由GitLab自动生成一个新文件,该文件启用邮件支持,因此必须触发"post post".

这是我文件的先前版本:

#!/usr/bin/env bash

# This file was placed here by GitLab. It makes sure that your pushed commits
# will be processed properly.

while read oldrev newrev ref
do
  # For every branch or tag that was pushed, create a Resque job in redis.
  repo_path=`pwd`
  env -i redis-cli rpush "resque:gitlab:queue:post_receive" "{\"class\":\"PostRe
ceive\",\"args\":[\"$repo_path\",\"$oldrev\",\"$newrev\",\"$ref\",\"$GL_USER\"]}
" > /dev/null 2>&1
done
Run Code Online (Sandbox Code Playgroud)

当我用一个新文件替换该文件时,该文件包含文件末尾的上述行,GitLab说:"项目在管理区域中有无效的接收后文件",但电子邮件被正确发送.

你知道如何处理多个post-receive支持的问题.目前我不知道文件的gitlab特定部分是否正确执行.

感谢帮助!

更新:

现在使用下面提到的解决方案(拉取请求)调用文件夹中的脚本.但我不明白为什么标准的"post-receive-email"-script如果包含在目录中则不发送任何邮件.如果直接作为post-receive调用它,它可以正常工作.

不知道为什么我必须更改订单,但以下工作对我来说(即使我不知道现在是否正确创建了resque作业:

#!/usr/bin/env bash

repo_path=`pwd`

if [ -d hooks/post-receive.secondary.d ]; then

  for i in hooks/post-receive.secondary.d/*
  do
      [ …
Run Code Online (Sandbox Code Playgroud)

git gitlab

5
推荐指数
2
解决办法
6609
查看次数

Gitlab 预提交钩子

我想在 gitlab 中使用预提交钩子。我在文档中做所有事情:https : //docs.gitlab.com/ce/administration/custom_hooks.html

在 custom_hooks 目录中,我创建了包含以下内容的预提交文件:

#!/bin/bash

exit 1
Run Code Online (Sandbox Code Playgroud)

钩子永远不会被触发,因为我可以提交。

当我对 pre-receive hook 做同样的事情时 - 一切正常。

如果 Gitlab 不允许使用预提交钩子?

hook pre-commit-hook gitlab

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

git ×2

gitlab ×2

git-bare ×1

hook ×1

pre-commit-hook ×1

repository ×1