К основному содержанию
хук официальный · GitHub

session-auto-commit — хук для GitHub Copilot

В конце сессии GitHub Copilot хук добавляет изменения в Git, создаёт коммит с отметкой времени и отправляет его в удалённый репозиторий. Это пригодится, если вы хотите сохранять работу автоматически.

Установить в Claude Code · Вручную: положить файлы Все способы и платформы ↓
.claude/settings.json
Открыть на GitHub

Что делает session-auto-commit

Хук запускается при событии sessionEnd: проверяет, что находится внутри Git-репозитория и есть ли незакоммиченные изменения. Если они есть, выполняет git add -A, создаёт коммит с датой и временем, затем пытается отправить его в удалённый репозиторий. Для коммита используется --no-verify, поэтому pre-commit-хуки не запускаются.

Для установки скопируйте папку хука в .github/hooks/, сделайте auto-commit.sh исполняемым и добавьте конфигурацию хука в ветку по умолчанию. Для отправки изменений нужны настроенные Git-учётные данные. Ошибка push не остановит завершение сессии, но изменения не окажутся на удалённом сервере. Чтобы временно отключить автокоммиты, задайте SKIP_AUTO_COMMIT=true или уберите событие sessionEnd из hooks.json.

Какие задачи решает

  • сохранять изменения Git в конце сессии Copilot
  • создавать коммит с отметкой времени автоматически
  • отправлять коммиты в удалённый репозиторий
  • пропускать коммит, если изменений нет

Примеры запросов агенту

  • В конце сессии сохрани изменения проекта в Git.
  • Автоматически закоммить и отправь изменения после завершения работы.
  • Заверши сессию и сохрани текущие изменения в репозитории.

Как установить session-auto-commit

Вручную: положить файлы

.claude/settings.json

Блок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json

По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду

Вопросы о session-auto-commit

Как установить session-auto-commit для GitHub Copilot?

Скопируйте папку хука командой cp -r hooks/session-auto-commit .github/hooks/, затем выполните chmod +x .github/hooks/session-auto-commit/auto-commit.sh. Добавьте конфигурацию хука в ветку репозитория по умолчанию.

Что делает session-auto-commit?

При завершении сессии Copilot он проверяет изменения, добавляет их в Git, создаёт коммит с датой и временем и пытается отправить его в удалённый репозиторий.

Нужны ли Git-учётные данные для session-auto-commit?

Да. Для отправки коммитов в удалённый репозиторий должны быть настроены подходящие Git-учётные данные.

Исходный текст

session-auto-commit · MIT
---
name: 'Session Auto-Commit'
description: 'Automatically commits and pushes changes when a Copilot coding agent session ends'
tags: ['automation', 'git', 'productivity']
---

# Session Auto-Commit Hook

Automatically commits and pushes changes when a GitHub Copilot coding agent session ends, ensuring your work is always saved and backed up.

## Overview

This hook runs at the end of each Copilot coding agent session and automatically:
- Detects if there are uncommitted changes
- Stages all changes
- Creates a timestamped commit
- Pushes to the remote repository

## Features

- **Automatic Backup**: Never lose work from a Copilot session
- **Timestamped Commits**: Each auto-commit includes the session end time
- **Safe Execution**: Only commits when there are actual changes
- **Error Handling**: Gracefully handles push failures

## Installation

1. Copy this hook folder to your repository's `.github/hooks/` directory:
   ```bash
   cp -r hooks/session-auto-commit .github/hooks/
   ```

2. Ensure the script is executable:
   ```bash
   chmod +x .github/hooks/session-auto-commit/auto-commit.sh
   ```

3. Commit the hook configuration to your repository's default branch

## Configuration

The hook is configured in `hooks.json` to run on the `sessionEnd` event:

```json
{
  "version": 1,
  "hooks": {
    "sessionEnd": [
      {
        "type": "command",
        "bash": ".github/hooks/session-auto-commit/auto-commit.sh",
        "timeoutSec": 30
      }
    ]
  }
}
```

## How It Works

1. When a Copilot coding agent session ends, the hook executes
2. Checks if inside a Git repository
3. Detects uncommitted changes using `git status`
4. Stages all changes with `git add -A`
5. Creates a commit with format: `auto-commit: YYYY-MM-DD HH:MM:SS`
6. Attempts to push to remote
7. Reports success or failure

## Customization

You can customize the hook by modifying `auto-commit.sh`:

- **Commit Message Format**: Change the timestamp format or message prefix
- **Selective Staging**: Use specific git add patterns instead of `-A`
- **Branch Selection**: Push to specific branches only
- **Notifications**: Add desktop notifications or Slack messages

## Disabling

To temporarily disable auto-commits:

1. Remove or comment out the `sessionEnd` hook in `hooks.json`
2. Or set an environment variable: `export SKIP_AUTO_COMMIT=true`

## Notes

- The hook uses `--no-verify` to avoid triggering pre-commit hooks
- Failed pushes won't block session termination
- Requires appropriate git credentials configured
- Works with both Copilot coding agent and GitHub Copilot CLI


```json
{
  "version": 1,
  "hooks": {
    "sessionEnd": [
      {
        "type": "command",
        "bash": ".github/hooks/session-auto-commit/auto-commit.sh",
        "timeoutSec": 30
      }
    ]
  }
}

```

© github · MIT · github/awesome-copilot

Похожие хуки

Все хуки по теме «Git и GitHub» →

Из того же набора952

Весь набор →
ai-prompt-engineering-safety-best-practices Правило помогает формулировать запросы к ИИ с ясным контекстом, ограничениями и требованиями к формату. Оно также предлагает учитывать безопасность и предвзятость при создании и проверке промптов. ★ 40 451звёзд репо agents Правило задаёт стандарт для файлов кастомных агентов GitHub Copilot: какие поля обязательны, как настроить инструменты и переходы между агентами. ★ 40 451звёзд репо agent-skills Правило задаёт стандарты создания навыков для GitHub Copilot. Оно помогает правильно оформить файл SKILL.md, настроить триггеры активации и структурировать инструкции. ★ 40 451звёзд репо agent-safety Правило задаёт границы доступа к инструментам, проверки политик и аудит для кода с ИИ-агентами. Пригодится при работе с вызовом инструментов и мультиагентными системами. ★ 40 451звёзд репо secrets-scanner Сканирует изменённые за сессию файлы на утёкшие ключи и пароли перед коммитом. Пригодится, когда агент правит код быстро и легко тащит в него токен. ★ 40 451звёзд репо governance-audit Хук перехватывает промпты к GitHub Copilot и ищет опасные команды до их запуска агентом. Записывает события в локальный JSON-лог и блокирует рискованные действия при строгих настройках. ★ 40 451звёзд репо fix-broken-links Хук проверяет ссылки в изменённых веб-файлах после действий GitHub Copilot и предлагает исправления. Пригодится, чтобы находить битые URL и общие подписи вроде «нажмите здесь». ★ 40 451звёзд репо dependency-license-checker Хук для GitHub Copilot, который в конце сессии агента сканирует новые зависимости и помечает копилефт-лицензии до коммита. ★ 40 451звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой