Вопрос по git, githooks – как обрабатывать файлы на ветке в post-receive hook в git

3

У меня есть удаленный сервер, на котором я создал пустой репозиторий git.

Я хотел бы создать ловушку, чтобы данный скрипт выполнялся на последнем коде, полученном в любой данной ветке.

Я знаюpost-receive крюк может быть использован для этого. Однако я хочу сделать следующее:

Get hold of the branch on which code was received. Checkout the code in a temp location and run an operation on it.

Как мне сделать выше?

Ваш Ответ

1   ответ
9
For 1), you have an example of reading the branch name (through stdin):
"Not able to detect branch from Git post-receive hook" For 2), you need to set GIT_WORK_TREE appropriately:
"Managing website using git + post-receive hook: error pushing changes"

Git post-receive для нескольких удаленных веток и рабочих деревьев& Quot ;:

#!/bin/bash

while read oldrev newrev ref
do
  branch=`echo $ref | cut -d/ -f3`

  if [ "master" == "$branch" ]; then
    git --work-tree=/path/under/root/dir/live-site/ checkout -f $branch
    echo 'Changes pushed live.'
  fi

  if [ "dev" == "$branch" ]; then
    git --work-tree=/path/under/root/dir/dev-site/ checkout -f $branch
    echo 'Changes pushed to dev.'
  fi
done

Похожие вопросы