Git ist ein verteiltes Versionskontrollsystem, mit dem Sie gemeinsam Code auf verschiedenen Geräten entwickeln und verwalten können. Wenn Sie einen Git-Server unter Linux einrichten möchten, damit Ihr Team problemlos Code teilen und synchronisieren kann, dann ist dieser Artikel genau das Richtige für Sie. Wir zeigen Ihnen, wie Sie Git-bezogene Software unter Linux installieren, wie Sie Gitosis zur Verwaltung von Benutzern und Warehouses verwenden und wie Sie mit SSH sicher auf Git-Server zugreifen. Egal, ob Sie ein Linux-Neuling oder ein Git-Meister sind, dieser Artikel kann Ihnen dabei helfen, schnell einen Git-Server einzurichten und Ihre Codeverwaltung effizienter zu gestalten.
Gebäudeumgebung:
Server CentOS6.6 + Git (Version 1.8.3.1)
Client Windows10 + Git (Version 2.11.1.windows.1)
1. Installieren Sie Git-bezogene Software
Linux ist das Serversystem, Windows ist das Clientsystem und Git ist jeweils installiert
Installieren Sie den Server:
[root@linuxprobe ~]# yum install -y git [root@localhost ~]# git --version //安装完后,查看 Git 版本 git version 1.8.3.1
Installieren Sie den Client:
Laden Sie Git für Windows herunter, Adresse: https://git-for-windows.github.io/
Nach der Installation können Sie Git Bash als Befehlszeilen-Client verwenden.
$ git --version git version 2.11.1.windows.1 //安装完之后,查看Git版本
Installieren Sie Gitosis
[root@linuxprobe ~]# cd software/ [root@linuxprobe software]# git clone https://github.com/res0nat0r/gitosis.git [root@linuxprobe software]# yum install python-setuptools -y [root@linuxprobe software]# cd gitosis [root@linuxprobe gitosis]# sudo python setup.py install
Die folgende Meldung erscheint und zeigt an, dass die Installation erfolgreich war
Using /usr/lib/python2.6/site-packages Finished processing dependencies for gitosis==0.2
2. Erstellen Sie einen Git-Benutzer auf der Serverseite, um den Git-Dienst zu verwalten
[root@linuxprobe ~]# id git //查看git用户是否存在 id: git: no such user [root@linuxprobe ~]# useradd git [root@linuxprobe ~]# echo "123" | passwd --stdin git [root@linuxprobe ~]# su - git //切换到git用户下
3. Öffentlichen Schlüssel konfigurieren
Konfigurieren Sie den Manager unter Windows. Laden Sie den öffentlichen Schlüssel des Entwicklercomputers auf den Server hoch, fügen Sie ihn als Manager des Git-Servers hinzu und öffnen Sie die Git-Befehlszeile
$ ssh-keygen -t rsa //一直回车,不需要设置密码 ~ scp ~/.ssh/id_rsa.pub git@192.168.34.184:~ //复制到git服务器上
4. Konfigurieren Sie Gitosis
Git-Benutzer verwenden und Gitosis initialisieren
[root@linuxprobe ~]# cd .ssh [root@linuxprobe ~]# gitosis-init Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/ Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/ [root@linuxprobe ~]# chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update //添加权限
$ git clone ssh://git@192.168.34.184:22/gitosis-admin.git $ cd gitosis-admin $ ls $ gitosis.conf keydir
keydir: speichert den öffentlichen Schlüssel des Kunden
Konfiguration
gitosis.confDatei
$ vim gitosis.conf [gitosis] [group gitosis-admin] #组名称 members = yueyong@SHA2-001 #组成员 writable = gitosis-admin #项目名称 [group test] //这里添加了"test"项目组,上传到个git服务器 members = yueyong@SHA2-001 writable = test
$ git config --global user.name "Your Name" //第一次提交需要设置个人信息,设置用户名和邮箱 $ git config --global user.email "email@example.com" $ cd ~/repo $ mkdir test $ git init $ tocuh readme.txt
$ git add . $ git commit -a -m 'init test' $ git remote add repo git@192.168.186.129:test.git //repo 远程库的名称,可以换成任意名称 $ git push repo master //上传本地所有分支代码到远程对应的分支上
[git@repositories]# pwd /home/git/repositories [git@linuxprobe repositories]$ ls gitosis-admin.git test.git
5. Weitere Git-Benutzerentwickler hinzufügen
Aufgrund der zunehmenden Anzahl von Personen im Entwicklungsteam des Unternehmens ist es mühsam, den privaten Schlüssel des Entwicklers manuell zu /home/git/.ssh/authorized_keys hinzuzufügen. Der Administrator des oben genannten Windows-Computers sammelt die private Schlüsseldatei id_rsa.pub von anderen Entwicklern und dann Nach dem Hochladen auf den Server und der Konfiguration erhält der Benutzer Projektberechtigungen und kann Projekte aus dem Remote-Warehouse ziehen und pushen, um gemeinsame Entwicklungsprojekte zu erreichen.
$ cd ~/gitosis-admin/keydir $ mv ~/id_rsa.pub zhangsan@SHA2-002.pub //修改公钥为主机名.pub $ vim gitosis.conf [group test] writable = test members = yueyong@SHA2-001 zhangsan@SHA2-002 //添加成员 $ git add . $ git commit -m "add zhangsan@SHA2-002 pub and update gitosis.conf" $ git push repo master
git clone git@192.168.34.184:/home/git/repositories/test.git 报错问题:ERROR:gitosis serve main repository read access denied 根据这个报错,可以看出key是没问题的,通过排查,发现不应该把这个/home/git/repositories/test.git写全, git clone git@192.168.34.184:test.git 这样就可以了。
Das obige ist der detaillierte Inhalt vonSo stellen Sie einen Git-Server unter Linux bereit, um Ihre Codeverwaltung effizienter zu gestalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!