Serwer GIT

Instaluje główne repozytorium git na debianie:

# apt install git

// dedykowany użytkownik git
# adduser --system --shell /bin/bash --group --home /home/git git

Ustawienie dostępu ssh dla usera git

# mkdir /home/git/.ssh
# chmod 700 /home/git/.ssh
# touch /home/git/.ssh/authorized_keys
# chmod 600 /home/git/.ssh/authorized_keys
# chown -R git:git /home/git/.ssh

Wygenerowanie klucza publicznego programisty na komputerze lokalnym

# ssh-keygen -t ed25519 -C "twoj@email.com"

id_ed25519        - klucz prywatny
id_ed25519.pub    - klucz publiczny

Wklejenie klucza publicznego do authorized_keys

# nano /home/git/.ssh/authorized_keys

Utworzenie repozytorium na serwerze

# mkdir -p /home/git/repos
# chown git:git /home/git/repos

// Dodanie użytkownika do grupy git dla repo 
# usermod -aG git jonatan
# chmod -R g+w /home/git/repos/firma.git

// Utwórz repozytorium (np. dla projektu "firma")
# sudo -u git git init --bare /home/git/repos/firma.git

Powiązanie istniejącego projektu na serwerze z tym repozytorium

cd /var/www/mojprojekt

// Jeśli projekt nie ma jeszcze gita:
git init
git add .
git commit -m "pierwszy commit"

// Dodaj zdalne repozytorium (lokalnie – przez ścieżkę, bez SSH)
git remote add origin /home/git/repos/firma.git

// Zweryfikuj zdalne repozytorium
git remote -v

origin /home/git/repos/firma.git (fetch)
origin /home/git/repos/firma.git (push)
// Wypchnij 
git push -u origin master

Ze zdalnego systemu (inny komputer) np. developerskiego

// Sklonowanie zdalnego repo na lokalny system
git clone git@adres-serwera:/home/git/repos/firma.git

Lub jeśli masz już lokalne repo:

git remote add origin git@adres-serwera:/home/git/repos/firma.git
git push -u origin master