Skip to main content

Упоминания Git

Git Mentions позволяют добавлять историю репозитория и изменения напрямую в диалог с Careti. Вы можете ссылаться на незафиксированные изменения с помощью @git-changes или на конкретные коммиты через @[commit-hash].

Когда вы вводите @ в чате, вы можете выбрать «Git Changes» из меню или ввести @git-changes вручную. Для выбора конкретных коммитов введите @, а затем хеш коммита (минимум 7 символов). Careti мгновенно увидит git status, diff-ы, сообщения коммитов и другую важную информацию.

Я постоянно использую Git Mentions, когда пытаюсь разобраться в изменениях кода или устранить неполадки, вызванные недавними коммитами. Вместо того чтобы копировать и вставлять diff-ы или логи коммитов, я просто спрашиваю:

I think this commit broke our authentication flow: @a1b2c3d

Can you explain what changed and why it might be causing the issue?

Это предоставляет Careti полную информацию о коммите, включая сообщение коммита, автора, дату и полный diff. Затем Careti сможет проанализировать, что именно изменилось и как это может повлиять на другие части codebase.

Упоминание @git-changes идеально подходит, когда вы работаете над изменениями и хотите получить фидбек перед коммитом:

Here are my current changes: @git-changes

I'm trying to implement a new feature for user profiles. Does my approach make sense?
Are there any potential issues or improvements you'd suggest?

Это показывает Careti все ваши незафиксированные изменения, включая новые файлы, измененные файлы и их diff-ы. После этого Careti сможет просмотреть ваши правки и дать отзыв по реализации.

Git Mentions особенно эффективны в сочетании с упоминаниями файлов. Когда я расследую баг, я часто ссылаюсь на оба варианта:

I think this commit introduced a bug: @a1b2c3d

Here's the current implementation: @/src/components/Auth.jsx

How can I fix the issue while preserving the intended functionality?

В следующий раз, когда будете работать с изменениями кода или изучать проблему, попробуйте использовать Git Mentions вместо того, чтобы вручную описывать или копировать изменения. Вы получите более точную помощь, так как Careti увидит, что именно изменилось и в каком контексте.

Как это работает изнутри

Когда вы используете Git Mentions в своем сообщении, вот что происходит «под капотом»:

Для Git-изменений (@git-changes)

  1. Когда вы отправляете сообщение, Careti обнаруживает паттерн @git-changes в тексте.

  2. Расширение запускает git-команды для получения текущего состояния рабочей области вашего репозитория.

  3. Оно перехватывает вывод git status и git diff, чтобы увидеть все незафиксированные изменения.

  4. Эта информация добавляется к вашему сообщению в структурированном формате:

    <git_working_state>
    On branch main
    Changes not staged for commit:
    modified: src/components/Button.jsx
    modified: src/styles/main.css

    [Complete diff output with all changes]
    </git_working_state>

Для конкретных коммитов (@[commit-hash])

  1. Когда вы отправляете сообщение, Careti обнаруживает символ @, за которым следует хеш коммита.

  2. Расширение запускает git show и сопутствующие команды для получения информации об этом коммите.

  3. Оно получает сообщение коммита, автора, дату и полный diff.

  4. Эта информация добавляется к вашему сообщению в структурированном формате:

    <git_commit hash="a1b2c3d">
    commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t
    Author: Developer Name <dev@example.com>
    Date: Mon May 20 14:30:45 2025 -0700

    Fix authentication bug in login form

    [Complete diff output showing all changes in the commit]
    </git_commit>

Этот процесс происходит автоматически каждый раз, когда вы используете Git Mentions, предоставляя AI полный обзор ваших изменений кода без необходимости копировать и вставлять diff-ы или логи коммитов.