Przejdź do głównej zawartości

Kontrola wersji i współpraca zespołowa

Kontrola wersji i współpraca zespołowa to już nie tylko zarządzanie zmianami w kodzie—to wykorzystanie AI do usprawnienia każdego aspektu przepływu pracy rozwoju. Od generowania znaczącego opisu commitów po rozwiązywanie złożonych konfliktów merge, Cursor zmienia sposób pracy zespołów.

Nigdy więcej nie pisz ogólnikowych opisów commitów. Cursor analizuje twoje zmiany w staging i generuje kontekstowe, znaczące opisy:

  1. Dodaj zmiany do staging w panelu Git
  2. Kliknij ikonę gwiazdki (✨) obok pola opisu commita
  3. Przejrzyj i dostosuj wygenerowany opis
  4. Commituj z pewnością

Dla szybszych commitów przypisz generowanie opisów do skrótu:

// W Skrótach klawiszowych (Ctrl+K Ctrl+S)
{
"key": "cmd+m",
"command": "cursor.generateGitCommitMessage"
}

Użyj @Git aby wprowadzić informacje o kontroli wersji do rozmów z AI:

@Git do analizy

@Git Jakie zmiany wprowadziłem w module auth?

@Branch Porównanie

@Branch Porównaj obecną gałąź z główną

@Recent-changes

@Recent-changes Pokaż co zmieniło się w ostatniej godzinie

Kontekst PR

@PR #123 Wyjaśnij zmiany w tym PR

Checkpointy to automatyczne migawki tworzone gdy Agent wprowadza zmiany do kodu. To twój natychmiastowy przycisk cofnij dla modyfikacji AI.

  • Automatyczne tworzenie: każda akcja Agenta tworzy checkpoint
  • Lokalne przechowywanie: oddzielnie od Git, przechowywane na twoim komputerze
  • Oparte na sesji: dostępne dla obecnej i ostatnich sesji
  • Tylko Agent: ręczne edycje nie są śledzone

Dwa sposoby przywracania:

Kliknij Przywróć checkpoint przy każdym poprzednim żądaniu Agenta

Gdy wystąpią konflikty, pozwól AI pomóc w inteligentnym rozwiązaniu:

  1. Napotkaj konflikt merge - znaczniki Git pojawiają się w plikach
  2. Kliknij “Rozwiąż w chacie” w interfejsie konfliktu merge
  3. Agent analizuje obie wersje - rozumie intencję z każdej gałęzi
  4. Przejrzyj proponowane rozwiązanie - Agent sugeruje inteligentne scalenie
  5. Zastosuj lub zmodyfikuj - zaakceptuj rozwiązanie AI lub poproś o zmiany
<<<<<<< HEAD
function calculateTotal(items) {
return items.reduce((sum, item) => sum + item.price, 0);
}
=======
function calculateTotal(items, includeTax = true) {
const subtotal = items.reduce((sum, item) => sum + item.cost, 0);
return includeTax ? subtotal * 1.08 : subtotal;
}
>>>>>>> feature/tax-calculation
Agent: Widzę, że obie gałęzie wprowadziły ulepszenia. HEAD zmienił na 'price'
a gałąź funkcjonalna dodała kalkulację podatku używając 'cost'. Scalę
to inteligentnie:
function calculateTotal(items, includeTax = true) {
const subtotal = items.reduce((sum, item) => sum + item.price, 0);
return includeTax ? subtotal * 1.08 : subtotal;
}
To zachowuje nazwę 'price' z HEAD i funkcję podatku z gałęzi funkcjonalnej.

Przy użyciu integracji GitHub/GitLab MCP:

Agent: Utwórz pull request dla tej funkcji z:
- Szczegółowym opisem zmian
- Linkami do powiązanych zgłoszeń
- Informacją o pokryciu testami

Agent wykona:

  1. Wygeneruje kompleksowy opis PR
  2. Dołączy podsumowanie historii commitów
  3. Doda odpowiednie etykiety/tagi
  4. Automatycznie powiąże powiązane zgłoszenia

Cursor indeksuje wszystkie scalone PR, czyniąc historyczną wiedzę przeszukiwalną:

Zapytaj: Jak implementowaliśmy uwierzytelnianie w poprzednich PR?
Agent przeszukuje historię PR i znajduje:
- PR #45: "Dodaj uwierzytelnianie JWT"
- PR #89: "Implementuj przepływ OAuth2"
- PR #123: "Dodaj uwierzytelnianie dwuskładnikowe"
[Agent dostarcza podsumowania i może pobrać pełne szczegóły PR]

BugBot automatycznie recenzuje PR pod kątem potencjalnych problemów:

Wykrywanie błędów

Wykrywa sprawdzanie null, obsługę błędów, problemy bezpieczeństwa

Standardy kodu

Egzekwuje konwencje zespołu i najlepsze praktyki

Wydajność

Oznacza potencjalne problemy wydajnościowe

Bezpieczeństwo

Identyfikuje luki w zabezpieczeniach

Utwórz .cursor/BUGBOT.md z zasadami specyficznymi dla zespołu:

# Konfiguracja BugBot
## Krytyczne zasady
- Wszystkie endpointy API muszą mieć uwierzytelnianie
- Brak instrukcji console.log w kodzie produkcyjnym
- Zapytania SQL muszą używać parametryzowanych instrukcji
## Styl kodu
- Używaj async/await zamiast promises
- Preferuj const nad let
- Destrukturyzuj obiekty gdy to możliwe
## Wydajność
- Ostrzegaj o wzorcach zapytań N+1
- Oznaczaj synchroniczne operacje na plikach
- Sprawdzaj brakujące indeksy bazy danych

Zespoły mogą dzielić się pracą nad indeksowaniem dla szybszego wdrażania:

  • Automatyczne dzielenie: członkowie zespołu korzystają ze wspólnego indeksu
  • Szybsza konfiguracja: nowi programiści zaczynają z prebudowanym indeksem
  • Spójny kontekst: wszyscy mają to samo zrozumienie bazy kodu

Pamięć przechwytuje ważne decyzje projektowe i kontekst:

Programista A: Omawia architekturę uwierzytelniania z Cursor
Cursor: Tworzy pamięć "Auth używa JWT z 15-minutowym wygaśnięciem"
Programista B: Później pyta o implementację auth
Cursor: Odwołuje się do pamięci i dostarcza spójną odpowiedź

Spójność na poziomie zespołu poprzez .cursor/rules/:

- Używaj TypeScript dla wszystkich nowych plików
- Podążaj za konfiguracją ESLint
- Pisz testy dla wszystkich nowych funkcji
- Używaj semantycznych opisów commitów

Praca nad wieloma funkcjami jednocześnie:

# Terminal 1 - Funkcja A
Agent: Utwórz nową gałąź dla funkcji profilu użytkownika
[Agent tworzy gałąź, rozpoczyna rozwój]
# Terminal 2 - Funkcja B
Agent: W nowej gałęzi implementuj system powiadomień
[Agent pracuje niezależnie]
# Później - Integracja
Agent: Pomoż mi scalić obie funkcje i rozwiązać konflikty
  1. Programista tworzy PR z opisem wygenerowanym przez AI
  2. BugBot uruchamia się automatycznie oznaczając potencjalne problemy
  3. Zespół recenzuje z pomocą AI
    Recenzent: @Code Wyjaśnij przepływ uwierzytelniania w tym PR
  4. Programista odnosi się do feedback
    Agent: Napraw problemy które BugBot zidentyfikował w PR #234
  5. Ostateczne zatwierdzenie i scalenie
W Slack:
@Cursor podsumuj PR #456 dla zespołu QA
Cursor odpowiada:
Ten PR dodaje funkcjonalność resetowania hasła:
- Użytkownicy mogą żądać resetu przez email
- Tokeny wygasają po 1 godzinie
- Zawiera ograniczenia częstości (3 próby/godzinę)
- Dodane pełne pokrycie testami
Agent: Wygeneruj dokumentację API z naszej bazy kodu dla
zespołu frontend. Dołącz przykłady i wymagania uwierzytelniania.

Jeśli używasz serwera Git MCP:

Agent: Utwórz nową gałąź funkcjonalną, cherry-pick commity
5abc123 i 7def456 z main, następnie wypchnij do origin
Agent: Pomoż mi zrebasować tę gałąź funkcjonalną na main.
Rozwiąż konflikty zachowując nasze zmiany funkcjonalne.

Przykład hook pre-commit:

#!/bin/bash
# Uruchom linting i sprawdzanie typów przed commitem
npm run lint
npm run type-check

Spójne standardy

Używaj wspólnych zasad i konfiguracji BugBot

Przechwytywanie wiedzy

Zaakceptuj pomocne pamięci dla korzyści zespołu

Regularne synchronizacje

Dziel się naukami AI w spotkaniach zespołu

Stopniowe wdrażanie

Zacznij od ochotników, rozszerzaj stopniowo

Śledź te metryki aby zmierzyć poprawę:

  • Czas obrotu PR: powinien się zmniejszyć z recenzjami AI
  • Rozwiązywanie konfliktów merge: szybsze z pomocą AI
  • Spójność kodu: lepsza ze wspólnymi zasadami
  • Szybkość wdrażania: nowi deweloperzy produktywni szybciej
  • Wskaźnik uciekających błędów: niższy z BugBot wykrywającym problemy
Problem: Członek zespołu Cursor reindeksuje od zera
Rozwiązanie:
1. Sprawdź ustawienia zespołu w Cursor
2. Upewnij się, że "Dziel indeks bazy kodu" jest włączone
3. Sprawdź czy członek zespołu ma odpowiednie uprawnienia

Zmień współpracę swojego zespołu:

  1. Ustaw wspólne zasady - zacznij od podstawowych standardów
  2. Włącz BugBot - zautomatyzuj podstawy przeglądu kodu
  3. Używaj indeksowania PR - ucz się ze swojej historii
  4. Dziel się wiedzą - zaakceptuj pomocne pamięci
  5. Iteruj i ulepszaj - dopracowuj na podstawie opinii zespołu