Android

Hur man ställer in en git-server

Setting up *Your Own* Git Server

Setting up *Your Own* Git Server

Innehållsförteckning:

Anonim

När det gäller Git-värd har du ett antal alternativ tillgängliga. GitHub, Gitlab och Bitbucket är populära lösningar, men att köra din egen Git-server är ett alternativ värt att överväga.

Genom att ställa in en Git-server kan du skapa privata förvar utan begränsningarna i leverantörernas gratis planer.

I den här guiden förklarar vi hur man ställer in en bara Git-server på Linux. Den här inställningen är bra om du har få förvar och samarbetspartnerna är tekniskt kunniga. Annars bör du överväga att installera en självhostad git-applikation som Gitea, Gogs eller Gitlab.

Git-servern kan ställas in på alla fjärr Linux-maskiner eller till och med på ditt lokala system.

Ställa in Git-servern

Det första steget är att installera Git på din server.

sudo apt update && sudo apt install git

Så här installerar du git-paketet på CentOS-servrar:

sudo yum install git

Skapa sedan en ny användare som hanterar Git-lagringarna:

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

Användarens hemkatalog är inställd på /home/git . Alla förvar lagras under den här katalogen. Vi ställde inte in ett lösenord för användaren "git", inloggningen är endast möjlig med ssh-tangenterna.

Byt till användaren "git" med su kommandot:

sudo su - git

Kör följande kommandon för att skapa SSH-katalogen och ställa in rätt behörigheter:

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

Skapa en fil med namnet ~/.ssh/authorized_keys som kommer att innehålla behöriga användares SSH-nycklar:

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

Det är allt. Serverinställningen är klar. Du är nu redo att skapa ditt första Git-arkiv.

Kör följande kommando för att initiera ett nytt tomt arkiv:

git init --bare ~/projectname.git

Du kan namnge katalogen som du vill. Det viktiga är att skapa förvaret under "git" -katalogen för användarhem.

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

Konfigurera Local Git Repository

För att kunna trycka på de lokala git-ändringarna till Git-servern måste du lägga till din lokala användares SSH-publika nyckel till fjärrkontrollen "git" -användarens authorized_keys .

cat ~/.ssh/id_rsa.pub

Utgången ska se ut som följande:

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

För att generera ett nytt SSH-nyckelpar använder du följande kommando:

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

Kopiera utgången från cat ovan och gå tillbaka till Git-serverkonsolen.

Öppna din textredigerare på servern och klistra in den offentliga nyckeln som du kopierade från din lokala maskin i ~/.ssh/authorized_keys :

sudo nano /home/git/.ssh/authorized_keys

Hela texten för den allmänna nyckeln bör vara på en enda rad.

Vi antar att Git-paketet redan är installerat på din lokala maskin. Om inte, installera det på samma sätt som förklaras i föregående avsnitt.

cd /path/to/local/project

Initiera ett git-arkiv:

git init.

Det sista steget är att lägga till git-fjärrkontrollen till ditt lokala arkiv:

git remote add origin git@git_server_ip:projectname.git

Glöm inte att ersätta git_server_ip med ditt Git-server värdnamn eller IP-adress.

För att verifiera att allt är korrekt konfigurerat skapar du en testfil:

touch test_file

Lägg till ändringarna i sceneringsområdet:

git add.

Gör ändringarna:

git commit -m "descriptive message"

Tryck på de lokala lagringsändringarna till ett fjärrlager:

git push -u origin master

Om allt är korrekt inställt, bör utgången se ut så här:

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'.

För att lägga till en ny samarbetspartner kopierar du bara den offentliga SSH-nyckeln till "git" ~/.ssh/authorized_keys fil.

Du kan använda samma steg för att skapa nya förvar. Det är viktigt att notera att fjärrförvaret måste existera innan du lägger till git-fjärrkontrollen i ditt lokala förvar.

Slutsats

I denna handledning har vi visat dig hur du ställer in din egen privata Git-server och skapar förråd.