Я хочу подключиться к созданию новой ветки. Либо когда создается ветка, либо когда выполняется первый шаг. Возможно ли одно или оба?
Git зацепить, когда новая ветка создана и/или нажата
Ответ 1
Это крюк обновления, он получает нулевую шагу для новых ссылок, ветки скажут головам не теги
Ответ 2
В принятом ответе говорится использовать update hook
. Я не уверен, что это помогает всем, так как это крючок на стороне сервера. Он будет работать, если вы нажмете свою новую ветку, но как насчет ее чистоты?
Я создаю локальные ветки, которые никогда не толкаются, поэтому я использую post-checkout
. После создания своего ветки, вы обычно не проверяете его, прежде чем делать что-либо еще с ним? Когда я обнаруживаю новую ветку, я ее изменяю и добавляю фиксацию автоматически. После этого я могу определить, является ли это новой веткой в кассе, в силу того, имеет ли она историю фиксации.
Вот как я это делаю (мои крючки находятся в bash):
true=1
false=0
isNewBranch()
{
local logQuery=$(git log --all --not $(git rev-list --no-walk --exclude=refs/heads/$(getBranchName) --exclude=HEAD --all))
if [ -z $logQuery ]; then
echo $true
else
echo $false
fi
}
getBranchName()
{
echo $(git rev-parse --abbrev-ref HEAD)
}