Kontrola wersji i współpraca zespołowa w Cursorze
ENAgent Cursora przejmuje pracę z kontrolą wersji we wspólnym repozytorium: pisze wiadomości commitów na podstawie zmian w stagingu, rozwiązuje konflikty merge po przeczytaniu obu gałęzi, przygotowuje opisy pull requestów i wstępnie recenzuje PR współpracownika. Git pozostaje źródłem prawdy, a testy i git show --remerge-diff dowodzą, co agent faktycznie zmienił.
Ta strona jest dla programisty, który ma już zainstalowanego Cursora i pracuje w repozytorium, do którego pushują też inni. Jest piątek, 17:00. Przed wydaniem scalasz main do swojej gałęzi i trafiasz na konflikt w pliku, który w tym tygodniu zmieniały dwie inne osoby. Ich commity mają opisy „wip” i „fixes”, PR współpracownika na 600 linii czeka na przegląd od dwóch dni, a ty nie masz czasu czytać ani jednego, ani drugiego linijka po linijce.
Co daje kontrola wersji prowadzona przez agenta w Cursorze
Dział zatytułowany „Co daje kontrola wersji prowadzona przez agenta w Cursorze”- Bezpieczny punkt wyjścia w gicie, dzięki któremu żadna akcja agenta nie zabierze ci pracy, która nie trafiła do commita
- Prompt do wiadomości commitów, który trzyma się konwencji zespołu i opisuje tylko to, co jest w stagingu
- Prompt do konfliktów merge, który zachowuje intencję obu stron, oraz dwa polecenia gita pokazujące dokładnie, co zmieniło rozwiązanie
- Prompt do pull requestów, który daje opis, na podstawie którego recenzent może działać
- Prompt do przeglądu cudzego PR-a, który wskazuje, gdzie patrzeć, zamiast kazać czytać każdą linię
- Jasny podział: co sprawdzasz ty, co CI, a co Bugbot
Konfigurację całego zespołu (wspólne reguły projektu, serwery MCP i skille) omawia strona współpraca zespołowa w Cursorze. Tutaj chodzi o codzienną pętlę pracy z gitem.
Przygotuj bezpieczny stan repozytorium, zanim agent dotknie historii
Dział zatytułowany „Przygotuj bezpieczny stan repozytorium, zanim agent dotknie historii”Agent Cursora uruchamia gita w swoim terminalu jak każde inne polecenie powłoki, zgodnie z trybem uruchamiania, który wybrałeś (Auto-review, Allowlist albo Run Everything; dokumentacja Cursora, sprawdzone 2026-10-12). Dzięki temu działa szybko, ale błędne git checkout --theirs . wykona równie chętnie jak poprawne polecenie. Dlatego najpierw zabezpiecz się.
-
Zaczynaj każde zadanie agenta od czystego drzewa roboczego. Zacommituj albo odłóż to, co masz;
-uodkłada też pliki nieśledzone, więc w drzewie nie zostaje nic nowego:Okno terminala git status --shortgit stash push -u -m "before agent task" -
Pracuj na gałęzi, nigdy na
main. Jeśli zadanie ma być odizolowane od twojego edytora, użyj worktree Cursora, w którym agent pracuje w osobnym checkoucie gita. -
Zapisz reguły pracy z gitem w regułach projektu (albo w
AGENTS.md, który Cursor też czyta), żeby agent miał je w kontekście: nigdy nie rób force-pusha, nigdy nie przepisuj historii, która jest już na zdalnym repozytorium, nigdy nie commituj plików pasujących do.env*i zapytaj przedgit reset --hard. -
Na razie zostaw push człowiekowi. Agent commituje lokalnie, a ty pushujesz po sprawdzeniu wyników opisanych niżej.
Pisz wiadomości commitów na podstawie zmian w stagingu
Dział zatytułowany „Pisz wiadomości commitów na podstawie zmian w stagingu”Wiadomość commita to jedyny kontekst, jaki współpracownik będzie miał, gdy za pół roku trafi na twoją zmianę w konflikcie. Agent pisze dobre wiadomości, jeśli każesz mu czytać wyłącznie zmiany w stagingu i trzymać się konwencji zespołu. Bez tej instrukcji zwykle opisuje całe drzewo robocze, łącznie z edycjami spoza stagingu.
Wynik sprawdzisz w pięć sekund, bez ponownego czytania diffa: uruchom git diff --cached --stat i upewnij się, że każdy obszar wymieniony w wiadomości jest na liście plików, a na liście nie ma niczego, czego wiadomość nie opisuje.
Rozwiązuj konflikty merge, nie tracąc żadnej ze stron
Dział zatytułowany „Rozwiązuj konflikty merge, nie tracąc żadnej ze stron”Ogólna prośba „napraw te konflikty” zwykle kończy się tym, że agent wybiera jedną stronę i usuwa znaczniki. Konflikt znika, a razem z nim zmiana innej osoby z zespołu. Poniższy prompt zmusza agenta, żeby najpierw nazwał intencję każdej strony i zatrzymał się, gdy te intencje się wykluczają.
-
Rozpocznij merge i wypisz pliki z konfliktami:
Okno terminala git merge origin/maingit diff --name-only --diff-filter=U -
Przekaż agentowi poniższy prompt z wklejoną listą plików.
-
Kiedy agent skończy, uruchom testy i sprawdzanie typów, zanim zacommitujesz. Rozwiązanie, które się kompiluje, ale nie przechodzi testu, zgubiło jakieś zachowanie.
-
Zacommituj merge, a potem obejrzyj tylko to, co zrobiło rozwiązanie konfliktu:
Okno terminala git show --remerge-diff HEAD--remerge-diffwymaga Gita 2.36 lub nowszego; wersję sprawdzisz przezgit --version. To polecenie pokazuje różnicę między stanem z konfliktem (ze znacznikami<<<<<<<) a tym, co trafiło do commita, więc przeglądasz decyzje, a nie całe pliki. Przy rebase zamiast mergegit range-diff origin/main ORIG_HEAD HEADporównuje twoje commity sprzed rebase i po nim.
Najważniejsza jest linia „stop and ask”. To ona odróżnia merge, któremu możesz zaufać, od takiego, w którym agent usunął poprawkę innej osoby z zespołu, żeby pozbyć się znaczników.
Otwórz pull request, na podstawie którego recenzent może działać
Dział zatytułowany „Otwórz pull request, na podstawie którego recenzent może działać”Opis PR-a napisany na podstawie diffa powtarza diff. Użyteczny opis podaje problem, dowód, że poprawka działa, i miejsce, gdzie jest ryzyko. Żeby agent sam otworzył pull request, podłącz serwer MCP GitHuba (konfiguracja w MCP w Cursorze) albo zainstaluj GitHub CLI (gh) i zaloguj się raz. Pierwszy fragment to wpis zdalnego serwera MCP GitHuba dla Cursora (z osobistym tokenem dostępu), drugi loguje gh:
{ "mcpServers": { "github": { "url": "https://api.githubcopilot.com/mcp/", "headers": { "Authorization": "Bearer YOUR_GITHUB_PAT" } } } }gh auth loginSekcja Evidence pozwala recenzentowi zaufać zmianie bez ponownego uruchamiania wszystkiego. Pełny kontrakt dla pull requestów od agenta, z wynikami kryteriów akceptacji i klasą ryzyka, opisuje strona pakiet dowodów.
Przejrzyj pull request współpracownika z pomocą agenta
Dział zatytułowany „Przejrzyj pull request współpracownika z pomocą agenta”Agent przydaje się w przeglądzie najbardziej, zanim przeczytasz jakikolwiek kod: buduje model mentalny zmiany, wskazuje ryzykowne fragmenty i znajduje brakujące testy. Decyzję o akceptacji nadal podejmujesz ty. Najpierw pobierz PR do lokalnej gałęzi, żeby agent pracował na prawdziwych plikach:
git fetch origin pull/123/head:pr-123git diff --stat origin/main...pr-123Przeczytaj fragmenty z punktu 2 i listę brakujących testów z punktu 3, a potem zaakceptuj zmianę albo poproś o poprawki. Głębszy proces przeglądu, z osobnym przejściem dla każdego problemu i dużymi refaktoryzacjami, opisuje strona code review w Cursorze.
Gdzie w przeglądzie mieści się Bugbot?
Dział zatytułowany „Gdzie w przeglądzie mieści się Bugbot?”Bugbot to recenzent pull requestów od Cursora: według dokumentacji „reviews pull requests and identifies bugs, security issues, and code quality problems” (cursor.com/docs/bugbot, sprawdzone 2026-08-28). Działa po twoim pushu na platformie, która hostuje repozytorium, więc łapie to, co przepuściły lokalne kontrole, a nie je zastępuje. Strony pomocy Cursora, według streszczenia z 2026-08-28 (od tamtej pory niesprawdzonego ponownie), opisują też plik .cursor/BUGBOT.md na wskazówki do przeglądu specyficzne dla projektu oraz komentarz bugbot run, który uruchamia przegląd ponownie. Konfigurację, wyuczone reguły i Autofix omawia strona o Bugbocie.
Żeby obsłużyć uwagi Bugbota w jednym przejściu, przekaż agentowi komentarze, zamiast je przepisywać:
Rozdziel równoległą pracę między worktree i agentów w chmurze
Dział zatytułowany „Rozdziel równoległą pracę między worktree i agentów w chmurze”Dwa niezależne zadania nie muszą na siebie czekać. Lokalne worktree daje każdemu agentowi osobny checkout na twojej maszynie. Agent w chmurze działa w odizolowanej maszynie wirtualnej i można go uruchomić z edytora albo przez automatyzację (Cursor Automations), na przykład po nowej wiadomości na Slacku. W obu przypadkach każde zadanie kończy się na osobnej gałęzi, gotowej do pull requestu, i przechodzi te same kontrole. Pilnuj, żeby zadania były naprawdę niezależne: dwóch agentów edytujących ten sam moduł wyprodukuje konflikt z poprzedniej sekcji, który rozwiążesz później, mając mniej kontekstu. Konfigurację worktree i uruchomienia równoległe opisuje strona checkpointy i gałęzie.
Jak udowodnić, że praca agenta z gitem jest poprawna?
Dział zatytułowany „Jak udowodnić, że praca agenta z gitem jest poprawna?”Nie czytasz ponownie każdej linii. Każdy artefakt ma kontrolę, która odpowiada na jedno pytanie, i konkretną osobę, która go zatwierdza.
| Artefakt | Kontrola | Zatwierdza |
|---|---|---|
| Wiadomość commita | git diff --cached --stat zgadza się z obszarami wymienionymi w wiadomości | Autor |
| Rozwiązanie konfliktu | Testy i sprawdzanie typów przechodzą, a git show --remerge-diff HEAD pokazuje każdą decyzję | Autor |
| Rebase | git range-diff origin/main ORIG_HEAD HEAD nie pokazuje niezamierzonych zmian w twoich commitach | Autor |
| Pull request | CI na zielono, a sekcja Evidence wymienia uruchomione polecenia i ich wyniki | Autor, potem recenzent |
| Przegląd PR-a współpracownika | Fragmenty uszeregowane według ryzyka i lista brakujących testów zostały przeczytane | Recenzent (człowiek) akceptuje |
| Przegląd po pushu | Uwagi Bugbota poprawione albo wyjaśnione | Autor |
Co się psuje, gdy agent pracuje z gitem
Dział zatytułowany „Co się psuje, gdy agent pracuje z gitem”- Merge „rozwiązany” przez wyrzucenie zmiany innej osoby z zespołu. Przed commitem uruchom
git merge --aborti zacznij od nowa z promptem do konfliktów. Po commicie, ale przed pushem,git reset --hard ORIG_HEADprzywraca stan sprzed merge; to polecenie usuwa commit merge, więc najpierw sprawdźgit log -1 ORIG_HEAD. - Agent zacommitował coś niechcianego. Znajdź ostatni dobry wpis przez
git reflog, a potemgit reset --soft HEAD@{1}(albo SHA z reflogu) cofnie commity i zostawi zmiany w stagingu. - Wiadomość commita opisuje zmiany spoza stagingu. Agent przeczytał
git diffzamiastgit diff --cached. Uruchom ponownie prompt do wiadomości commitów, który wprost nazywa to polecenie. - Sekret albo plik
.envtrafił do commita. Jeśli nie był pushowany, usuń go przezgit rm --cached .env, dodaj wzorzec do.gitignorei popraw commit (--amend). Jeśli był pushowany, najpierw unieważnij sekret; przepisanie historii nie usunie go z klonów i forków. - Agent zrobił force-pusha na wspólną gałąź. Każdy, kto ma jeszcze stary wierzchołek gałęzi, może go przywrócić. Poproś tę osobę, żeby znalazła go w swoim
git reflogjako<old-sha>i wypchnęła z powrotem przezgit push --force-with-lease=<branch>:<bad-sha> origin <old-sha>:<branch>, gdzie<bad-sha>to wierzchołek wypchnięty przez agenta. Dzięki--force-with-leasepush się nie powiedzie, jeśli ktoś w międzyczasie wypchnął coś nowego. Potem dopisz „never force-push” do reguł projektu i zabezpiecz gałąź na platformie. - Agent ignoruje twoje reguły dotyczące gita. Zanim na nich polegasz, sprawdź, czy naprawdę wczytują się w sesji, i pamiętaj, że reguły działają tylko w Agencie, a nie w uzupełnianiu Tab, Inline Edit ani w przeglądach PR przez Bugbota (pomoc Cursora, sprawdzone 2026-10-12). Sposób sprawdzenia opisuje strona współpraca zespołowa w Cursorze.
Co dalej z pracą zespołową w Cursorze
Dział zatytułowany „Co dalej z pracą zespołową w Cursorze”Czy ten artykuł Ci pomógł?
Jedno kliknięcie, bez logowania.
Co z tym zrobisz?
Jak się czytało?
Co przeszkadzało? Możesz zaznaczyć kilka
Twoja rola?
Dzięki. Czytam każdą odpowiedź. Michał Jaskólski
Pomógł Ci ten artykuł?
Każde to jedno kliknięcie. Zamknij, kiedy chcesz.
bez logowania