Wpis z mikrobloga

Albo coś przespałem albo nie wiem. Właśnie skończyłem pierwszy tydzień w nowej robocie i jestem zaskoczony, że dla wszystkich normą jest używanie gita. Jak to ma niby być bezpieczne skoro każdy ma kopie repo lokalną i nie dosc, że każdemu może wszystko nadpisać to wyjasnijcie mi co jak np firma chce zakończyć z kimś współpracę i nie może mu odebrać dostępu do kodu? Coś było nie tak z SVNem, że teraz taka hipsteriada?

#programowanie #programista15k #programista25k #git #komputery #pracbaza #zalesie
teddybear69 - Albo coś przespałem albo nie wiem. Właśnie skończyłem pierwszy tydzień ...

źródło: comment_1669389320jz6uvDxe7ziWYU0GyzeSvg.jpg

Pobierz
  • 126
  • Odpowiedz
wyjasnijcie mi co jak np firma chce zakończyć z kimś współpracę i nie może mu odebrać dostępu do kodu


@teddybear69: stosuje się takie rzeczy jak uprawnienia
  • Odpowiedz
@pilot1123: są firmy gdzie jeszcze perforce używają. Takie fajne firmy. Takie Amerykańskie firmy technologiczne.
Gdzie cała konfiguracja infrastruktury klienckiej jest w #!$%@? perforce!
  • Odpowiedz
widzę że niektórzy dalej nie wiedzą co to nexus I mu podobne


@JestemKaspi: widze że nie wszyscy wiedzą że pliki binarne to nie tylko pliki wykonywalne, nexus nadaje się tylko to artefaktów. Kiedyś trzymaliśmy pliki binarne w osobnym systemie, ale to jest upierdliwe, dużo wygodniej jest mieć jeden system kontroli wersji który ogarnia wszystko a nie jakieś zewnętrzne zależności
  • Odpowiedz
@teddybear69: Wiem, że zarzutka, ale z tego co pamiętam to w svn chyba sporo ciężej się operowało na branchach? Bo generalnie branchy per se tam w ogóle nie było? Generalnie ma to swoje zalety bo masz trunka i robisz deploy trunka, a każdy programista jest odpowiedzialny za to żeby pisać kod tak żeby nic nie wybuchnął na serwerze (np dając jakieś feature flagi). No i wymuszało to też, to żeby
  • Odpowiedz
@5da4266d3de6dbaf425a2d4fc16225d0: Ale po co przechodzić na gorsze rozwiązanie. Ja kiedyś tez pracowałem w zespole z gitem i koleś wysłał force i mi wyczyścił mojego brancha.


@zibizz1: przecież to jest technicznie niemożliwe, żeby wyczyściło ci brancha po force, to właśnie cała zaleta lokalnej kopii twojego brancha xD
  • Odpowiedz
@rimyi: Pod warunkiem ze masz lokalną kopie u siebie, co np może nie być prawda gdy zmieniasz akurat kompa bo Ci dysk padł, ale myslisz sobie "na szczescie pushnałem wszystko". Jeśli w tym czasie wszyscy zdąża się pobrać zmiany to pozamiatane. Są takie systemy kontroli wersji w których nie można modyfikowac przeszłości. Jak chcesz to zrobić to albo musisz poprosić o to aby wszyscy zrobili tą samą modyfikacje lokalnie albo
  • Odpowiedz
@zibizz1: ?? Cofasz się do zmian sprzed force i nadpisujesz jeszcze raz, ewentualnie w całości revertujesz zmiany. To nie jest problem, którego w gicie nie można rozwiązać
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@rimyi: ale skąd mam to wziąć jak u mnie. Miałem 5 commitow na branchu i mi koleś usunął z remota a u mnie ich nie ma. Jak mam się cofnąć na tym branchu, albo to zrevertowac jak tego już nie ma?
  • Odpowiedz
@zibizz1: Pod git reflog masz całą historię operacji na repo, wystarczy, że się cofniesz do interesującego cię hasha. To, że ktoś zrobił push force nie znaczy, że znika ci historia

Zresztą kopię wszystkich najważniejszych branchy typu main czy develop i tak masz lokalnie bo w pewnym momencie będziesz musiał je pobrać, żeby chociażby wychodzić z nich branchami. Do maina możesz nawet nie mieć możliwości bezpośredniego pusha właśnie po to, żeby
  • Odpowiedz
@UniversalHater: poważne firmy korzystają z tzw chmury myśli developerów, niczym protosi - mają jedno "monorepo" które budowane jest przez asynchroniczne myśli a wszystkie konflikty są mergowane podczas snu - niestety to wymaga żeby wszyscy developerzy spali w tym samym czasie
  • Odpowiedz
@teddybear69: w sumie to pytanie nie wydaje się głupie więc odpowiem, po pierwsze nikt nikomu nic nie nadpisze ponieważ w gicie zawsze można bez problemu się cofnąć do wersji sprzed nadpisania, ogólnie synchronizacja między twoja kopia a remote to nie polega na tym że nadpisujesz cały remote twoim repo, po drugie zaletą architektury rozproszonej jest to że np w momencie jak utracimy bezpowrotnie hosta na którym był nasz origin(czyli kopia
  • Odpowiedz