Git-Server-Einrichtung
Im vorherigen Kapitel haben wir Github für unser Remote-Repository verwendet. Öffentliche Projekte auf Github sind kostenlos, und seit 2019 können auch private Repositorys auf Github uneingeschränkt genutzt werden.
Natürlich können wir auch unseren eigenen Git-Server einrichten, um ihn als privates Repository zu verwenden.
Verwendung eines Bare-Repositorys
1. Git installieren
Git auf Ubuntu Server installieren:
sudo apt install git
Wenn Ihr System Centos/RedHat ist, lautet der Installationsbefehl:
yum -y install git-core
Fedora-Installationsbefehl:
# yum install git (Fedora 21 及之前的版本) # dnf install git (Fedora 22 及更高新版本)
Als Nächstes erstellen wir eine Git-Benutzergruppe und einen Benutzer zum Ausführen des Git-Dienstes:
$ groupadd git $ useradd git -g git
2. Ein Bare-Repository erstellen
Melden Sie sich als Git-Benutzer an und erstellen Sie dann ein Bare-Repository in dessen Home-Verzeichnis.
$ sudo su - gitWählen Sie zunächst ein Verzeichnis als Git-Repository, angenommen es ist /home/gitrepo/example.git, und führen Sie den folgenden Befehl im Verzeichnis /home/gitrepo aus:
$ cd /home $ mkdir gitrepo $ chown git:git gitrepo/ $ cd gitrepo $ git init --bare example.git
Der obige Befehl erstellt ein leeres Git-Repository. Git-Repositories auf dem Server enden normalerweise mit.git.git. Ändern Sie dann den Benutzer des Repositorys auf git (falls es von einem anderen Benutzer wie root betrieben wird):
$ chown -R git:git example.git
3. Zertifikats-Login erstellen
Fügen Sie Ihren öffentlichen Schlüssel zu ~/.ssh/authorized_keys hinzu, um den Fernzugriff zu ermöglichen.
Sammeln Sie die öffentlichen Schlüssel aller Benutzer, die sich anmelden müssen. Die öffentlichen Schlüssel befinden sich in der Datei id_rsa.pub. Importieren Sie unsere öffentlichen Schlüssel in die Datei /home/git/.ssh/authorized_keys, einen pro Zeile.
Wenn die Datei nicht existiert, erstellen Sie sie:
$ cd /home/git/ $ mkdir .ssh $ chmod 755 .ssh $ touch .ssh/authorized_keys $ chmod 644 .ssh/authorized_keys # 在文件中添加你的 SSH 公钥
4. Repository klonen
$ git clone [email protected]:/home/gitrepo/example.git Cloning into 'example'... warning: You appear to have cloned an empty repository. Checking connectivity... done.
192.168.45.4 ist die IP des Git-Servers. Sie müssen sie in die IP Ihres eigenen Git-Servers ändern.
Auf diese Weise ist die Installation unseres Git-Servers abgeschlossen.
GitLab verwenden
GitLab ist ein leistungsstarkes Git-Service-Management-Tool, geeignet für mittlere und große Teams, und bietet umfangreiche Funktionen wie Benutzerverwaltung, CI/CD, Code-Review usw.
1. GitLab installieren
Gemäßder offiziellen GitLab-DokumentationGitLab installieren.
Zum Beispiel unter Ubuntu:
# sudo apt-get update # sudo apt-get install -y curl openssh-server ca-certificates tzdata perl # curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash # sudo EXTERNAL_URL="http://yourdomain" apt-get install gitlab-ee
EXTERNAL_URL="http://yourdomain" Um Ihre eigene Domain oder öffentliche IP festzulegen, zum Beispiel:
sudo EXTERNAL_URL=101.132.XX.XX yum install -y gitlab-ee
2. GitLab konfigurieren
Öffnen Sie nach der Installation einen Browser und besuchen Sie http://yourdomain, um das Administratorkonto einzurichten.
Wenn eine ähnliche Echo-Nachricht wie die folgende erscheint, zeigt dies an, dass GitLab erfolgreich installiert wurde.

Melden Sie sich bei GitLab an, erstellen Sie ein neues Projekt, der Benutzername istroot。
Anmeldepasswort abrufen:
sudo cat /etc/gitlab/initial_root_password
Die Ergebnisse sind wie folgt:

Verwenden Sie den Benutzernamen für die erste Anmeldungroot:

4. Schlüsselpaardatei generieren und öffentlichen Schlüssel abrufen
Installieren Sie das Git-Tool (überspringen, falls bereits installiert):
sudo apt-get install git
Schlüsselpaardatei id_rsa generieren:
ssh-keygen
Während des Schlüsselpaar-Generierungsprozesses fordert das System Sie auf, das Verzeichnis zum Speichern des Schlüsselpaars (standardmäßig .ssh/id_rsa im Home-Verzeichnis des aktuellen Benutzers, z. B. /home/test/.ssh/id_rsa) und das Passwort für das Schlüsselpaar einzugeben. Sie können sie manuell eingeben oder die Eingabetaste drücken, um die Standardwerte beizubehalten.
Nach der Generierung werden die folgenden Informationen angezeigt:

Inhalt der öffentlichen Schlüsseldatei id_rsa.pub anzeigen und kopieren:
cat .ssh/id_rsa.pub
Es werden Informationen ähnlich den folgenden angezeigt:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQVwWjF3KXmI549jDI0fuCgl+syJjjn55iMUDRRiCd/B+9TwUda3l9WXH5i7RU53QGRCsDVFZxixLOlmXr9E3VSqkf8xXBnHs/5E2z5PIOCN0nxfB9xeA1db/QxPwK4gkHisep+eNHRn9x+DpCYDoSoYQN0nBg+H3uqfOqL42mJ+tqSfkyqbhjBf1kjtDTlBfVCWtI0siu7owm+c65+8KNyPlj5/0AyJ4Aqk1OX2jv+YE4nTipucn7rHwWuowasPU86l+uBsLNwOSb+H7loJvQyhEINX2FS1KnpRU+ld20t07n+N3ErfX5xBAGfxXpoN9BKKSP+RT7rvTeXTVE**** [email protected]****
5. Projekt erstellen
Klicken Sie auf der GitLab-Startseite auf die Option „Projekt erstellen“:

Klicken Sie auf „Leeres Projekt erstellen“, legen Sie Projektname und Projekt-URL fest und klicken Sie dann auf „Projekt erstellen“:

In diesem Artikel wird das Projekt mywork als Beispiel zur Veranschaulichung verwendet.
6. SSH-Schlüssel hinzufügen
Klicken Sie auf der aktuellen Projektseite auf „SSH-Schlüssel hinzufügen“:

Fügen Sie den Inhalt der Public-Key-Datei id_rsa.pub in das Textfeld ein, das mit „Schlüssel“ beschriftet ist:

Klicken Sie auf „Schlüssel hinzufügen“. Nachdem der SSH-Schlüssel hinzugefügt wurde, wird er in der folgenden Abbildung angezeigt:

Kopieren Sie den Clone-Link. Dieser Link wird für Clone-Vorgänge benötigt:

GitLab verwenden
1. Konfigurieren Sie die Benutzerinformationen für die Verwendung des Git-Repositorys, einschließlich Benutzername und E-Mail.
git config --global user.name "testname" git config --global user.email "[email protected]"
2. Klonen Sie das erstellte Projekt auf den lokalen Rechner.
git clone [email protected]:root/mywork.git

3. Laden Sie die Datei auf den GitLab-Server hoch:
In das Projektverzeichnis wechseln:
cd mywork/
Erstellen Sie die Zieldatei, die auf GitLab hochgeladen werden soll:
echo "test" > /home/test/test.sh
Kopieren Sie die Zieldatei oder das Zielverzeichnis in das Projektverzeichnis:
cp /home/test/test.sh ./
Fügen Sie die Datei test.sh zum Index hinzu:
git add test.sh
Committen Sie die Datei test.sh in das lokale Repository:
git commit -m "test.sh"
Synchronisieren Sie die Datei auf den GitLab-Server:
git push -u origin main

Überprüfen Sie auf der Webseite, ob die hochgeladene Datei test.sh auf den GitLab-Server synchronisiert wurde:
