2012-07-04 11 views
5

W pracy używamy TFS i staram się, aby narzędzie Git-TFS działało, dzięki czemu mam większą elastyczność podczas pracy z lokalnymi zatwierdzeniami, zanim popchnę je do repozytorium TFS.Git-Tfs: Zestaw zmian TFS na polecenie Git?

Mam to działa, ale kiedy robię git tfs ct, sprawdza wszystkie moje zatwierdzenia w jednym zestawie zmian TFS. Czy coś mi brakuje, czy tak to powinno działać? Jeśli nie przesunie każdego z moich zatwierdzeń osobno do TFS jako oddzielnych zestawów zmian, to wydaje się, że w pierwszej kolejności pokonuje cel używania git-tfs.

Odpowiedz

9

Używam polecenia rcheckin, które zatwierdza nowe zestawy zmian git do tfs po jednym na raz, zmieniając pozostałe zatwierdzenia po każdym zatwierdzeniu tfs, aby uzyskać normalnie wyglądające drzewo. Używanie podkomendy checkintool powoduje połączenie mergetch - nie przypominam sobie jednak, żeby to było gitarze.

Używamy normalnego przepływu pracy git: kasowanie gałęzi funkcji, praca nad nią, kasowanie master'a i 'git tfs pull', zmiana w razie potrzeby gałęzi funkcji na master, a następnie scalenie funkcji do master i zrobienie git tfs rcheckin. Na koniec usuń gałąź funkcji. W rzadkich przypadkach to się nie udało (z powodu zablokowanego pliku tfs) rcheckin zatrzymał się pozostawiając wszystko w rozsądnym stanie, więc po usunięciu przeszkody nie było problemu z kontynuowaniem.

Podsumowując, git-tfs sprawia, że ​​korzystanie z TFS jest znoszone.

+0

Świetnie! Działa to dokładnie tak, jak chciałem. Zastanawiam się, dlaczego strony readme i wiki Githuba nie wspominają o tym poleceniu. – Dan

+0

Jedyne, czego nie lubię w przypadku '' rcheckin' '' '' '' z powodu zablokowanego pliku, to że twoje zmiany są _partially_ wysłane do serwera TFS. Ponieważ pracuję z zespołem ludzi, którzy są nieśmiali i wolą TFS, jestem zmuszony zmiażdżyć moje zatwierdzenia za pomocą 'rebase -i', aby mój sukces/porażka była zawsze atomowa. –

Powiązane problemy