Git Gui dla koordynatora

0

Cześć

Pracuję jako koordynator i wdrożeniowiec w niedużym zespole. 2 programistów, tester i ja. Mamy kilka produktów wymagających ciągłych zmian. Moim zadaniem jest rozdzielanie zadań między programistów, wstępna ocena zmian w kodzie albo nowego kodu, zaplanowanie zakresu testów, przygotowanie i przekazanie testerom paczek kodu do testowania. Na koniec wdrożenie zmian u klientów. Muszę też zapanować nad przepływem informacji między programistami, testerem i klientami. Do panowania nad kodem używamy Git'a. Developerzy mają swoje lokalne klony repo, a ja i testerzy pracujemy bezpośrednio na zdalnych repozytoriach na Githubie. I tego dotyczy moje pytanie. Używałem już Git'a w konsoli typu bash oraz testowałem webowego Github GUI. W konsoli tekstowej za mało widzę. Nie jestem programistą z zawodu i forma konsoli tekstowej nie jest dla mnie naturalna - jestem wzrokowcem. W webowym Github GUI widać już więcej, lepiej panuję nad branchami i kodem. Mam jednak wrażenie, że to narzędzie jest dość ubogie. Brakuje mi bardziej rozbudowanych funkcji wyszukiwania, porównywania wersji kodu między gałęziami i oczywiście wizualizacji flow. Jakiego Git GUI polecilibyście dla takiego zastosowania. Może być komercyjny - to ma być dopasowane narzędzie pracy.

Pozdrawiam
Askes

5

dla mnie najczytelniejszy przekaz jest w gitkraken (najlepiej widać to co się dzieje na GIT)
ale działa najwolniej ze znanych mi GUI jezeli chodzi o wprowadzanie zmian (można powiedzieć że ślimak)

1

To jest jak z kobietami jeden woli blondynki inny brunetki. Przetestuj kilka i zobacz który jest najlepsze. Masz Guthub gui doscktop i kilka innych ale który Ci odpowiada to musisz sobie sam odpowiedzieć.

2

Z ciekawości spytam, bo napisałes wstępna ocena zmian w kodzie zatem w jaki sposob oceniasz te zmiany skoro nie jesteś programista?

Team opisany przez Ciebie jest na tyle maly ze chyba oni sami mogliby sie zorganizowac tak aby te zmiany dowozic bez problemu.
Jak wyglada u was code review? Kto je robi? Ile approve'ow wymaga sie zeby zmergowac brancha?

1

Za mało szczegółów.

Brakuje mi bardziej rozbudowanych funkcji wyszukiwania,

W sensie wyszukiwania czego, czegoś w kodzie? Bo jeśli potrzebujesz skakać po kodzie, to użyj tych samych narzędzi co deweloperzy, czyli pewnie jakiegoś IDE. Mi zakładka gita w IntelliJ wystarcza. Jeśli chodzi o szukanie w historii, to można filtrować po użytkownikach, no i szukać w commit message.

porównywania wersji kodu między gałęziami

Zaznaczasz 2 commity w IntelliJ, prawoklik -> compare versions. Tyle czy coś więcej?

i oczywiście wizualizacji flow

Jakiego flow? Chodzi o wzorzec git flow?

0
axelbest napisał(a):

Z ciekawości spytam, bo napisałes wstępna ocena zmian w kodzie zatem w jaki sposob oceniasz te zmiany skoro nie jesteś programista?

Team opisany przez Ciebie jest na tyle maly ze chyba oni sami mogliby sie zorganizowac tak aby te zmiany dowozic bez problemu.
Jak wyglada u was code review? Kto je robi? Ile approve'ow wymaga sie zeby zmergowac brancha?

To nie do końca tak, że nie jestem programistą. Potrafię programować, tylko nie mam na to czasu. Dlatego "tylko" koordynuję i oceniam pracę innych. Tak więc zarówno code review jak i wdrożenia robię osobiście.

1
kelog napisał(a):

Za mało szczegółów.

Brakuje mi bardziej rozbudowanych funkcji wyszukiwania,

W sensie wyszukiwania czego, czegoś w kodzie? Bo jeśli potrzebujesz skakać po kodzie, to użyj tych samych narzędzi co deweloperzy, czyli pewnie jakiegoś IDE. Mi zakładka gita w IntelliJ wystarcza. Jeśli chodzi o szukanie w historii, to można filtrować po użytkownikach, no i szukać w commit message.

np. przeszukanie historii zmian jakiegoś pliku we wszystkich otwartych branch'ach,

porównywania wersji kodu między gałęziami

Zaznaczasz 2 commity w IntelliJ, prawoklik -> compare versions. Tyle czy coś więcej?

Akurat nasze projekty nie sa w Javie, wiec nie używamy IntelliJ.

i oczywiście wizualizacji flow

Jakiego flow? Chodzi o wzorzec git flow?
Chodziło mi wizualizację struktury gałęzi z zaznaczonymi commitami.
screenshot-20241218180259.png

0

Bardzo dziękuję za wszystkie rady. Myślałem o Krakenie. Próbowałem Github Desktopa, ale jakoś mi nie podpasował. Jest w necie dużo opinii od programistów jak im się używa różnych Git GUI. Mam jednak wrażenie, że ja będe używał takiego narzędzia troszkę inaczej niż typowy programista. Programista ma swojego taska czy feature'a i jest skoncentrowany na nim właśnie. Wrzuca kod po poprawkach, czy porównuje ostatnie zmiany. Ja powinienem zapanować nad wszystkimi gałęziami naraz. Często przeskakuje pomiędzy branchami a czasem nawet musze porównać aktualne postępy prac w sąsiednich gałęziach, żeby tak ustawić prace, żeby na końcu kilka gałęzi mergeować w mniej więcej tym samym czasie. I najlepiej z juz rozwiązanymi konfliktami. Jak napisałem wcześniej, porad od programistów jest sporo. Nawet wszelkie rankingi Git GUI są focusowane na programistów. Nie mogę nigdzie znaleźć porad dla użytkowników takich jak ja.

0

gitk --all, graficzne narzędzie często zainstalowanie razem z konsolowym gitem.

bardziej rozbudowanych funkcji wyszukiwania

Jest jednoczesne wyszukiwanie we wszystkich gałęziach w opisie wbitki, nazwie zmienionego pliku, zmienionej zawartości pliku. Filtrowanie według autora, zmienionego pliku.

porównywania wersji kodu między gałęziami

Jest, w tym między dowolnymi dwoma wbitkami.

wizualizacji flow

Jest.

0
Krzemień napisał(a):

gitk --all, graficzne narzędzie często zainstalowanie razem z konsolowym gitem.

A to narzędzie potrafi pracować ze zdalnym repo bez klonowania go na lokalną maszynę?

0

Z github.com trzeba klonować - ale to dotyczy chyba wszystkich narzędzi poza samym github.com w przeglądarce.

Ze zdalnego serwera nad którym masz kontrolę niekoniecznie, można próbować ssh -X serwer 'sh -c "cd repo && gitk"' po odpowiedniej konfiguracji serwera. Co w większości warunków będzie działać wolniej niż z klona.

Skoro programiści mają klon, dlaczego ty go unikasz? Za duży? Pracodawca nie dał dostępu?

0

Do wygodnej pracy z gałęziami i wyznaczania różnic używam GitExtensions.
Nie jest takie ładne graficznie, jak inne GUI, ale jest funkcjonalne.

0
Krzemień napisał(a):

Z github.com trzeba klonować - ale to dotyczy chyba wszystkich narzędzi poza samym github.com w przeglądarce.

Ze zdalnego serwera nad którym masz kontrolę niekoniecznie, można próbować ssh -X serwer 'sh -c "cd repo && gitk"' po odpowiedniej konfiguracji serwera. Co w większości warunków będzie działać wolniej niż z klona.

Skoro programiści mają klon, dlaczego ty go unikasz? Za duży? Pracodawca nie dał dostępu?

Nic z tych rzeczy. Po prostu graf pracy naszego zespołu wygląda jak gwiazda ze zdalnym repo w samym środku. Przy tej wielkości zespołu centralne sterowanie się po prostu najbardziej sprawdza. Moja funkcja w tym zespole w kontekście GIT polega na modyfikowaniu tego środka w zależności od tego co do niego wpadnie z zewnątrz. Muszę przeanalizować to co wpadło i odpowiednio zmodyfikować strukturę tego środka. Dlatego praca bezpośrednio na zdalnym repo (tym środku tej gwiazdy) wydaje się najbardziej logiczna. Wiem, że pomysł na to jak powinien działać Git jest trochę inny. Nie wykluczam, że z braku odpowiednich zaawansowanych narządzi do pracy bezpośrednio na zdalnym repo, będę musiał się bardziej dopasować do generalnej koncepcji Git. Na razie jestem na etapie szukania i weryfikacji. To fakt, że ze sprawdzonych przeze mnie jak dotąd narzędzi tylko Github web GUI pracuje bezpośrednio na zdalnym repo. Jeśli potwierdzi się, że jest to jedyny taki interfejs, to będę musiał się dopasować do koncepcji i pracować na lokalnym klonie ☹️ , albo dalej używać Github web GUI ☹️ .

1

Nic z tych rzeczy. Po prostu graf pracy naszego zespołu wygląda jak gwiazda ze zdalnym repo w samym środku. Przy tej wielkości zespołu centralne sterowanie się po prostu najbardziej sprawdza. Moja funkcja w tym zespole w kontekście GIT polega na modyfikowaniu tego środka w zależności od tego co do niego wpadnie z zewnątrz. Muszę przeanalizować to co wpadło i odpowiednio zmodyfikować strukturę tego środka. Dlatego praca bezpośrednio na zdalnym repo (tym środku tej gwiazdy) wydaje się najbardziej logiczna. Wiem, że pomysł na to jak powinien działać Git jest trochę inny. Nie wykluczam, że z braku odpowiednich zaawansowanych narządzi do pracy bezpośrednio na zdalnym repo, będę musiał się bardziej dopasować do generalnej koncepcji Git. Na razie jestem na etapie szukania i weryfikacji. To fakt, że ze sprawdzonych przeze mnie jak dotąd narzędzi tylko Github web GUI pracuje bezpośrednio na zdalnym repo. Jeśli potwierdzi się, że jest to jedyny taki interfejs, to będę musiał się dopasować do koncepcji i pracować na lokalnym klonie ☹️ , albo dalej używać Github web GUI ☹️ .

Po prostu sklonuj sobie wszystkie repo do jednego lokalnego używając git remote add repo_przemka url. Komendy gita operują na lokalnym repo i twój flow może będzie działał z innymi narzędziami, ale nie widzę tego. Po to GIT jest zdecentralizowany, żebyś był w stanie osiągnąć lokalnie dowolny stan i syncować go ze zdalnym stanem jak tylko chcesz

0
Askes napisał(a):
Krzemień napisał(a):

Z github.com trzeba klonować - ale to dotyczy chyba wszystkich narzędzi poza samym github.com w przeglądarce.

Ze zdalnego serwera nad którym masz kontrolę niekoniecznie, można próbować ssh -X serwer 'sh -c "cd repo && gitk"' po odpowiedniej konfiguracji serwera. Co w większości warunków będzie działać wolniej niż z klona.

Skoro programiści mają klon, dlaczego ty go unikasz? Za duży? Pracodawca nie dał dostępu?

Nic z tych rzeczy. Po prostu graf pracy naszego zespołu wygląda jak gwiazda ze zdalnym repo w samym środku. Przy tej wielkości zespołu centralne sterowanie się po prostu najbardziej sprawdza. Moja funkcja w tym zespole w kontekście GIT polega na modyfikowaniu tego środka w zależności od tego co do niego wpadnie z zewnątrz. Muszę przeanalizować to co wpadło i odpowiednio zmodyfikować strukturę tego środka. Dlatego praca bezpośrednio na zdalnym repo (tym środku tej gwiazdy) wydaje się najbardziej logiczna. Wiem, że pomysł na to jak powinien działać Git jest trochę inny. Nie wykluczam, że z braku odpowiednich zaawansowanych narządzi do pracy bezpośrednio na zdalnym repo, będę musiał się bardziej dopasować do generalnej koncepcji Git. Na razie jestem na etapie szukania i weryfikacji. To fakt, że ze sprawdzonych przeze mnie jak dotąd narzędzi tylko Github web GUI pracuje bezpośrednio na zdalnym repo. Jeśli potwierdzi się, że jest to jedyny taki interfejs, to będę musiał się dopasować do koncepcji i pracować na lokalnym klonie ☹️ , albo dalej używać Github web GUI ☹️ .

Mam troche takie wtf. Co za problem zebys mial lokalnie repo i sobie wypychał swoje zmiany? Troche to brzmi jakbys nie do konca sie orientował w git i próbówał to jakos kleic.
Co do IDE to Intellij jest wygodny i ma tez wsparcie innych jezykow. Inne pliki nie tylko .java tez w nim porwnasz i to dosc wygodnie jak dla mnie.

Po prostu graf pracy naszego zespołu wygląda jak gwiazda ze zdalnym repo w samym środku

No tak wygłada GITw kazdej firmie

Przy tej wielkości zespołu centralne sterowanie się po prostu najbardziej sprawdza

To chyba ma malo wspolnego z gitem samym w sobie

Moja funkcja w tym zespole w kontekście GIT polega na modyfikowaniu tego środka w zależności od tego co do niego wpadnie z zewnątrz

jakbym to widział:

  • dev tworzy sobie zmiany na swoim branchu
  • tworzy PR do głownego brancha
  • i teraz jesli Ty potrzebujesz cos zmienic w plikach w glownym repo z racji ze ta zmiana sie pojawila a nie moze tego zrobic developer
  • sciagasz sobie lokalnie ten branch developera
  • poprawiasz to co chcesz poprawic
  • commit i wypychasz
  • PR sie aktualizuje i zawiera w sobie zmiany deva i twoje dodatkowe w repo wszystko w jednym miejscu
  • po mergu wszystko masz w glownym branchu

na git dajesz sobie odpowiednie flagi typu tylko po twojej akceptacji PR moze zostac dograna do glownego brancha wtedy unikniesz ze cos tam wpadnie a nie bedzie mial odpowiednich modyfikacji w innych miejscach ktore ty masz wykonac

Masz pelna kontrole i dobra historie zmian twoich ktore powstaly z powodu PR jakiegos deva wszystko w jednym miejscu. latwe do potencjalnego wycofania

Co do wizualizacji flow branchy wystarca mi ta z intellij wiec tutaj nie pomoge niestety jak chcesz w inny sposob ale filtrowanie tam jest wygodne po autorze, branchu itd wiec moze nawet i Tobie by wystarczyło

0

To ja chyba tez jestem koordynatorem 😀
ja z opisu nie widze nic czego by nie robił programista tylko ze stopniem generała a nie majtek pokładowy
OP musi trochę chyba poużywać GIT-a
bo mam wrażenie ze pytania wynikaja z braku kontaktu z narzędziem:

  • nie rozumiem koncepcji "zdalnego GIT-a" bo nawet jak jest zdalny dla nas to lokalny dla zdalnej usługi :D , pewnie można sobie zainstalować jakiegoś webowego klienta i robić klik klik, nic nie zastąpi lokalnej kopii, nawet najlepsze narzędzie GUI klik-klik nie jest w stanie zaspokoić wszystkich potrzeb zaawansowanego użytkownika i czasami trzeba popisać skrypty
  • trzeba poczytać o git remote dla mnie to jest normalny sposób pracy

@Askes: Juz git krakena zainstalowales ? Czegos Ci Ci w nim brakuje, czy licencja jest tylko płatna i trzeba zaplacic ?

0

Jeszcze raz dziękuję za wszystkie rady. Zdecydowałem się na razie przetestować Krakena. Interfejs jest przejrzysty. Operowania się uczę. Na tym etapie na pewno nie jest wolniejszy ode mnie 😉. Zobaczymy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.