Git 언급을 사용하면 리포지토리의 기록과 변경 사항을 Cline과의 대화에 직접 가져올 수 있습니다. @git-changes를 사용하여 커밋되지 않은 변경 사항을 참조하거나 @[commit-hash]를 사용하여 특정 커밋을 참조할 수 있습니다. 채팅에서 @를 입력하면 메뉴에서 “Git 변경 사항”을 선택하거나 @git-changes를 직접 입력할 수 있습니다. 특정 커밋의 경우 @ 다음에 커밋 해시(최소 7자)를 입력합니다. Cline은 즉시 git 상태, diff, 커밋 메시지 및 기타 관련 정보를 볼 수 있습니다. 최근 커밋으로 인해 발생한 코드 변경 사항을 이해하거나 문제를 해결하려고 할 때 Git 언급을 지속적으로 사용합니다. diff 또는 커밋 로그를 복사하여 붙여넣는 대신 다음과 같이 질문합니다.
이 커밋으로 인해 인증 흐름이 중단된 것 같습니다: @a1b2c3d

무엇이 변경되었고 이것이 문제를 일으키는 이유를 설명해 주시겠어요?
이렇게 하면 커밋 메시지, 작성자, 날짜 및 전체 diff를 포함한 전체 커밋 정보가 Cline에 제공됩니다. 그러면 Cline은 정확히 무엇이 변경되었고 이것이 코드베이스의 다른 부분에 어떤 영향을 미칠 수 있는지 분석할 수 있습니다. @git-changes 언급은 변경 사항에 대해 작업 중이고 커밋하기 전에 피드백을 받고 싶을 때 적합합니다.
현재 변경 사항은 다음과 같습니다: @git-changes

사용자 프로필에 대한 새로운 기능을 구현하려고 합니다. 제 접근 방식이 적절한가요?
잠재적인 문제나 개선 사항이 있나요?
이렇게 하면 새 파일, 수정된 파일 및 해당 diff를 포함한 모든 커밋되지 않은 변경 사항이 Cline에 표시됩니다. 그러면 Cline은 변경 사항을 검토하고 구현에 대한 피드백을 제공할 수 있습니다. Git 언급은 파일 언급과 결합할 때 특히 강력합니다. 버그를 조사할 때 종종 두 가지 모두를 참조합니다.
이 커밋으로 인해 버그가 발생한 것 같습니다: @a1b2c3d

현재 구현은 다음과 같습니다: @/src/components/Auth.jsx

의도한 기능을 유지하면서 문제를 어떻게 해결할 수 있나요?
다음에 코드 변경 사항으로 작업하거나 문제를 조사할 때는 변경 사항을 수동으로 설명하거나 복사하는 대신 Git 언급을 사용해 보십시오. Cline이 정확히 무엇이 변경되었고 어떤 컨텍스트에서 변경되었는지 볼 수 있으므로 더 정확한 도움을 받을 수 있습니다.

내부 작동 방식

메시지에서 Git 언급을 사용하면 내부적으로 다음과 같은 일이 발생합니다.

Git 변경 사항(@git-changes)

  1. 메시지를 보내면 Cline이 텍스트에서 @git-changes 패턴을 감지합니다.
  2. 확장이 git 명령을 실행하여 리포지토리의 현재 작업 상태를 가져옵니다.
  3. 커밋되지 않은 모든 변경 사항을 보기 위해 git statusgit diff의 출력을 캡처합니다.
  4. 이 정보는 다음과 같은 구조화된 형식으로 메시지에 추가됩니다.
    <git_working_state>
    main 브랜치에 있음
    커밋을 위해 스테이징되지 않은 변경 사항:
      수정됨: src/components/Button.jsx
      수정됨: src/styles/main.css
    
    [모든 변경 사항이 포함된 전체 diff 출력]
    </git_working_state>
    

특정 커밋(@[commit-hash])

  1. 메시지를 보내면 Cline이 @ 다음에 커밋 해시 패턴을 감지합니다.
  2. 확장이 git show 및 관련 명령을 실행하여 해당 커밋에 대한 정보를 가져옵니다.
  3. 커밋 메시지, 작성자, 날짜 및 전체 diff를 검색합니다.
  4. 이 정보는 다음과 같은 구조화된 형식으로 메시지에 추가됩니다.
    <git_commit hash="a1b2c3d">
    commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t
    작성자: 개발자 이름 <dev@example.com>
    날짜: 2025년 5월 20일 월요일 14:30:45 -0700
    
    로그인 양식의 인증 버그 수정
    
    [커밋의 모든 변경 사항을 보여주는 전체 diff 출력]
    </git_commit>
    
이 프로세스는 Git 언급을 사용할 때마다 자동으로 발생하므로 diff 또는 커밋 로그를 복사하여 붙여넣을 필요 없이 AI가 코드 변경 사항을 완전히 볼 수 있습니다.