Git – Błąd „repository corruption”

Czasami, kiedy pracujemy na dużych projektach możemy natknąć się na błąd związany z korupcją repozytorium. Nie zawsze chodzi tutaj o zepsusie/utratę repozytorium. Czasami jest to błąd spowodowany niemożliwością wykonania czynności zaplanowanych przez git-a z powodu zbyt dużego repozytorium i zbyt krótkiego czasu na wykonanie go. Jest to z reguły spowodowane błędną konfiguracją parametrów ‚windowsMemory’ i ‚SizeLimit’.

Ten błąd może wyglądać tak:

Aby upewnić się, że faktycznie nie mamy do czynienia z prawdziwym uszkodzeniem repozytorium możemy użyć fsck

Aby rozwiązać ten problem należy ustawić git-a za pomocą tych komend:

 

Rozwiązanie dla GitLab:

Pierwszy raz na problem ten natrafiłem w środowisku GitLab-a korzystając z dużego prywatnego repozytorium, a powyższe komendy nie zadziałają w tym środowisku ponieważ GitLab korzysta z plików .rb, aby tworzyć pliki konfiguracyjne, dlatego należy:

A następnie: gitlab-ctl reconfigure

Facebooktwittergoogle_plusreddit

GoGS wraz z Apachem

Musimy uruchomić odpowiednie moduły proxy dla apache:

Przykładowy plik konfiguracyjny vhosta apache2:

Upewnijmy się, że gogs jest uruchomiony i zrestartujmy apache

 

Zainstalujmy gogs jako usług i uruchommy ją:

 

Facebooktwittergoogle_plusreddit

GoGS – lekki git front-end

GoGS to frontend dla git-a, charakteryzuje sie niskimi wymaganiami oraz tym, iż uruchomi się wszędzie gdzie uruchomimy interpretator języka Go.

GoGS wymaga do działania paczki ‚git’ oraz bazydanych (mysql, postgresql lub tidb)

Możemy zainstalować gogit z źródeł lub w formie binarek, załóżmy że zainstalujemy binarki jako backend użyjemy mysql/mariadb na systemie debian/ubuntu:

Pobierzmy odpowiednią paczkę ze strony gogs.io (w moim wypadku było to gogs_v0.9.13_linux_amd64.tar.gz) i rozpakujmy paczkę:

Na potrzeby gogs tworzymy użytkownika i bazę w mysql/maria db:

 

Pierwsze uruchomienie:

Mamy teraz możliwość połączyć się przeglądarką www na localhost:3000 lub domena:3000 gdyż gogs nasłuchuje ruchu na 0.0.0.0:3000.

Ustawiamy nastepująco:

Pozostałe parametry według uznania

W ten sposób zainstalowaliśmy i uruchomiliśmy usługę GOGS (GoGIT)

Facebooktwittergoogle_plusreddit