2012-04-04 13 views
9

Próbuję zracjonalizować dwie perspektywy, które wydają się być powiązane (lub przynajmniej zapewniają bardzo podobną funkcjonalność): Perspektywa "Git Repository" (którą dostałem po dodaniu EGit) i perspektywy "Synchronizacji zespołu" (która moim zdaniem była częścią dystrybucji EE).Perspektywa "Git Repository" Eclipse kontra "Team Synchronizing"

O ile mogę powiedzieć, że jestem w stanie uzyskać Git repozytorium pracy (z GitHub) lub przynajmniej większość Cechy: „Git Inscenizacja” Okno pracuje bez zarzutu, jestem w stanie Zatwierdź, przeciągając pliki z "Zmiany nieplanowane" do "Zmiany etapowe", a następnie klikając ikonę Zatwierdź. Następnie jestem w stanie przekazać moje zmiany z okna "Git Repositories", klikając prawym przyciskiem myszy na obszarze roboczym-> Piloty-> origin-> url i wybierając Push z menu (czy jest to "poprawna" procedura?).

Dzięki perspektywie "Synchronizacja zespołu" nie mam nawet szczęścia, aby ją skonfigurować. Po wybraniu opcji "Synchronizuj ..." menu, Git, a następnie widzę tabelę (co to jest?). Próbuję różnych wartości dla miejsca docelowego (w przeciwnym razie nie można nacisnąć przycisku Zakończ), ale bez względu na to, co robię, oznacza to "brak zmian" dla wszystkich moich projektów.

Istnieje również wiele elementów menu kontekstowego po kliknięciu prawym przyciskiem myszy na projekcie i wybraniu "Zespół". Co to jest?

Odpowiedz

4

W CVS Team Synchronize to jedyny rozsądny sposób zarządzania zmianami przychodzącymi i wychodzącymi. Możesz aktualizować/scalać przychodzące zmiany i zatwierdzać wychodzące zmiany z tego jednego widoku. Ponieważ każde zatwierdzenie jest dyskretne i nie jest atomowe, widok jest odpowiedni dla tego przepływu pracy.

W EGit masz już jednak wyraźne działania dotyczące dodawania, zatwierdzania, popychania, ciągnięcia i łączenia. Tak więc synchronizacja zespołu jest w dużej mierze poza normalnym przepływem pracy. Zachowuje się podobnie do gloryfikowanej synchronizacji z łatki - wybierasz gałęzie, które chcesz porównać z katalogiem roboczym, i pokazuje różnice. Możesz wtedy zastosować te zmiany masowo lub indywidualnie, ale nie będzie to miało wpływu na kontekst, tzn. Nie będzie tworzyć punktów scalania ani nic.

Powinieneś więc ćwiczyć się nie używać, z wyjątkiem wyjątkowych powodów. Na przykład, być może masz dwie gałęzie A & B. Ktoś dokonał zmiany na B i potrzebujesz tylko niewielkiej jej części, więc możesz użyć Team Sync, aby pokazać różnice i zastosować tylko te, których potrzebujesz. A może po prostu chcesz zmiażdżyć wszystkie zmiany w oddziale B i nazwać je jednym zatwierdzeniem w A. Wtedy możesz użyć Team Sync, zamiast przekręcić z bazą, kiedy zamierzasz rzucić B tak czy inaczej, zdalnym oddziałem .

3

Z mojego punktu widzenia perspektywa "repozytorium Git" służy do zatwierdzania plików z katalogu roboczego do lokalnego repozytorium Git, natomiast perspektywa "synchronizacji zespołu" służy do synchronizowania lokalnego repozytorium za pomocą zdalnego.

Z początku uznałem to za mylące, ponieważ podczas korzystania z SVN perspektywa "Synchronizacji zespołu" służyła do zatwierdzania/aktualizowania plików. Dopóki nie zauważyłem, że w perspektywie synchronizacji Zespołu EGit zamiast pokazywać przyciski zatwierdzania/aktualizacji, ma on przyciski pociągania/pchania, które służą do synchronizowania dwóch repozytoriów Git.

Dla różnych opcji, które pojawiają się w menu kontekstowym "Team", odpowiadają one wiązce operacji Git. Sugeruję przeczytanie zasady działania Git przed użyciem EGit. http://git-scm.com/doc byłby dobrym początkiem.

Powiązane problemy