我查看了SO和网络上的答案,我看不出有关如何在github上设置服务器端git钩子的任何内容(而不是webhooks).有没有办法做到这一点?
或者,有没有办法设置它,以便.git/hooks是克隆时工作树的一部分的符号链接?
我应该补充一点,这是一个内部托管的github服务器.
我的 github 存储库中有两个分支 -master和dev分支。我有一个要求,需要在以下条件下将master分支合并到dev分支:
master将分支合并回dev分支。这有可能做到吗?我相信我们可以使用 git Hooks 来完成这项工作,但我不知道该怎么做。有人可以提供一个如何实现这一目标的例子吗?
我在线阅读它,看起来我可以使用包含以下内容的钩子,但我很困惑,只有当有人向分支添加提交或任何 PR 合并到主分支post-receive时,如何执行此操作?master这也是正确的方法吗?
git checkout master
git pull
git checkout dev
git pull
git merge master --no-ff --no-edit
git push
Run Code Online (Sandbox Code Playgroud)
我明白,由于合并冲突,这可能并不总是可能的,但如果可能的话,我们希望它自动发生。
更新
阅读更多有关Github Actions- 我在 git 存储库的根文件夹中创建了一个这样的文件,.github/workflows/merge-back-to-dev.yml内容如下。这看起来合适吗?我需要所有这些字段吗runs-on?
name: 'Nightly Merge'
on:
push:
branches:
- master
jobs:
nightly-merge:
runs-on: ubuntu-latest
steps: …Run Code Online (Sandbox Code Playgroud) 我已经启动了一个GitHub Enterprise实例(11.10.272)并创建了一个存储库.我已经在Ruby中编写了一个预接收挂钩,我想在该存储库中使用它.
与常规GitHub一样,GitHub Enterprise允许配置服务挂钩.我试图通过SSH连接到GitHub Enterprise服务器来创建一个钩子文件,但我找不到repo目录.此外,GitHub Enterprise的条款禁止修改VM,所以我不相信这是一个很好的方法.
似乎GitHub:FI支持钩子.根据从GitHub:FI迁移,当前版本的FI to Enterprise迁移工具目前不支持挂钩.