Android

Jak skonfigurować serwer git

Как установить и настроить Git и GitHub в Windows

Как установить и настроить Git и GitHub в Windows

Spisu treści:

Anonim

Jeśli chodzi o hosting Git, masz wiele dostępnych opcji. GitHub, Gitlab i Bitbucket są popularnymi rozwiązaniami, ale warto też rozważyć uruchomienie własnego serwera Git.

Konfigurowanie serwera Git umożliwia tworzenie prywatnych repozytoriów bez ograniczeń bezpłatnych planów dostawców.

W tym przewodniku wyjaśniamy, jak skonfigurować czysty serwer Git w systemie Linux. Ta konfiguracja jest dobra, jeśli masz niewiele repozytoriów, a współpracownicy są zaznajomieni z technologią. W przeciwnym razie powinieneś rozważyć zainstalowanie aplikacji Git na własnym serwerze, takiej jak Gitea, Gogs lub Gitlab.

Serwer Git można skonfigurować na dowolnym zdalnym komputerze z systemem Linux lub nawet w systemie lokalnym.

Konfigurowanie serwera Git

Pierwszym krokiem jest instalacja Git na serwerze.

sudo apt update && sudo apt install git

Aby zainstalować pakiet git na serwerach CentOS:

sudo yum install git

Następnie utwórz nowego użytkownika, który będzie zarządzał repozytoriami Git:

sudo useradd -r -m -U -d /home/git -s /bin/bash git

Katalog domowy użytkownika jest ustawiony na /home/git . Wszystkie repozytoria będą przechowywane w tym katalogu. Nie ustawiliśmy hasła dla użytkownika „git”, logowanie będzie możliwe tylko przy użyciu kluczy ssh.

Przejdź do użytkownika „git” za pomocą polecenia su :

sudo su - git

Uruchom następujące polecenia, aby utworzyć katalog SSH i ustawić poprawne uprawnienia:

mkdir -p ~/.ssh && chmod 0700 ~/.ssh

Utwórz plik o nazwie ~/.ssh/authorized_keys którym będą przechowywane klucze SSH autoryzowanych użytkowników:

touch ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys

Otóż ​​to. Konfiguracja serwera jest zakończona. Jesteś teraz gotowy do utworzenia pierwszego repozytorium Git.

Uruchom następującą komendę, aby zainicjować nowe puste repozytorium:

git init --bare ~/projectname.git

Możesz nazwać katalog, jak chcesz. Ważne jest, aby utworzyć repozytorium w katalogu osobistym użytkownika „git”.

Initialized empty Git repository in /home/git/projectname.git/

Konfigurowanie lokalnego repozytorium Git

Aby móc przesłać lokalne zmiany git na serwer Git, musisz dodać klucz publiczny SSH lokalnego użytkownika do pliku authorized_keys kluczy użytkownika zdalnego „git”.

cat ~/.ssh/id_rsa.pub

Dane wyjściowe powinny wyglądać mniej więcej tak:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]

Aby wygenerować nową parę kluczy SSH, użyj następującego polecenia:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Skopiuj dane wyjściowe z polecenia cat powyżej i wróć do konsoli serwera Git.

Na serwerze otwórz edytor tekstu i wklej klucz publiczny skopiowany z komputera lokalnego do pliku ~/.ssh/authorized_keys :

sudo nano /home/git/.ssh/authorized_keys

Cały tekst klucza publicznego powinien znajdować się w jednym wierszu.

Zakładamy, że pakiet Git jest już zainstalowany na twoim komputerze lokalnym. Jeśli nie, zainstaluj go w taki sam sposób, jak wyjaśniono w poprzednich sekcjach.

cd /path/to/local/project

Zainicjuj repozytorium git:

git init.

Ostatnim krokiem jest dodanie git zdalnego do lokalnego repozytorium:

git remote add origin git@git_server_ip:projectname.git

Nie zapomnij zastąpić git_server_ip nazwą hosta lub adresem IP serwera Git.

Aby sprawdzić, czy wszystko jest poprawnie skonfigurowane, utwórz plik testowy:

touch test_file

Dodaj zmiany do obszaru przejściowego:

git add.

Zatwierdź zmiany:

git commit -m "descriptive message"

Przekaż zmiany lokalnego repozytorium do zdalnego repozytorium:

git push -u origin master

Jeśli wszystko jest skonfigurowane poprawnie, dane wyjściowe powinny wyglądać mniej więcej tak:

Counting objects: 3, done. Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To git_server_ip:projectname.git * master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.

Aby dodać nowego współpracownika, po prostu skopiuj jego publiczny klucz SSH do pliku ~/.ssh/authorized_keys użytkownika „git”.

Możesz wykonać te same kroki, aby utworzyć nowe repozytoria. Ważne jest, aby pamiętać, że zdalne repozytorium musi istnieć przed dodaniem zdalnego git do lokalnego repozytorium.

Wniosek

W tym samouczku pokazaliśmy, jak skonfigurować własny prywatny serwer Git i tworzyć repozytoria.