Android

Bagaimana untuk menyediakan pelayan git

Установка собственного git сервера на Ubuntu Server 16.04

Установка собственного git сервера на Ubuntu Server 16.04

Isi kandungan:

Anonim

Ketika datang ke hosting Git, Anda mempunyai sejumlah pilihan yang tersedia. GitHub, Gitlab dan Bitbucket adalah penyelesaian yang popular, tetapi menjalankan pelayan Git anda sendiri adalah alternatif yang perlu dipertimbangkan.

Menyediakan Server Git membolehkan anda membuat repositori peribadi tanpa sekatan pelan percuma pembekal.

Dalam panduan ini, kami akan menerangkan bagaimana untuk menubuhkan pelayan Git kosong di Linux. Persediaan ini bagus jika anda mempunyai beberapa repositori dan kolaborator berteknologi tinggi. Jika tidak, anda harus mempertimbangkan memasang aplikasi git yang dihoskan sendiri seperti Gitea, Gogs, atau Gitlab.

Pelayan Git boleh ditubuhkan pada mana-mana mesin Linux jauh atau bahkan pada sistem tempatan anda.

Menyediakan Server Git

Langkah pertama ialah memasang Git pada pelayan anda.

sudo apt update && sudo apt install git

Untuk memasang pakej git pada pelayan CentOS jenis:

sudo yum install git

Seterusnya, buat pengguna baru yang akan menguruskan repositori Git:

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

Direktori rumah pengguna ditetapkan ke /home/git . Semua repositori akan disimpan di bawah direktori ini. Kami tidak menetapkan kata laluan untuk pengguna "git", log masuk hanya boleh dilakukan dengan menggunakan kekunci ssh.

Beralih ke pengguna "git" dengan menggunakan perintah su :

sudo su - git

Jalankan arahan berikut untuk membuat direktori SSH dan tetapkan kebenaran yang betul:

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

Buat fail bernama ~/.ssh/authorized_keys yang akan memegang kekunci SSH pengguna yang dibenarkan:

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

Itu sahaja. Persediaan pelayan selesai. Anda kini bersedia untuk membuat repositori Git pertama anda.

Jalankan arahan berikut untuk memulakan repositori kosong yang baru:

git init --bare ~/projectname.git

Anda boleh menamakan direktori yang anda mahu. Yang penting adalah untuk membuat repositori di bawah direktori rumah pengguna "git".

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

Mengkonfigurasi Repositori Git Tempatan

Untuk dapat menolak perubahan git setempat kepada pelayan Git, anda akan menambah kunci awam awam SSH anda kepada fail authorized_keys pengguna git "git".

cat ~/.ssh/id_rsa.pub

Output seharusnya kelihatan seperti berikut:

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

Untuk menghasilkan pasangan kunci SSH baru gunakan arahan berikut:

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

Salin output daripada arahan cat atas dan kembali ke konsol pelayan Git.

Di pelayan, buka editor teks anda dan paste kekunci awam yang anda salin dari mesin tempatan anda ke fail ~/.ssh/authorized_keys :

sudo nano /home/git/.ssh/authorized_keys

Seluruh teks utama awam harus berada pada satu baris.

Kami menganggap bahawa pakej Git sudah dipasang di mesin tempatan anda. Jika tidak, pasangkannya dengan cara yang sama seperti yang dijelaskan di bahagian sebelumnya.

cd /path/to/local/project

Inisialisasikan repositori git:

git init.

Langkah terakhir adalah untuk menambah remote git ke repositori tempatan anda:

git remote add origin git@git_server_ip:projectname.git

Jangan lupa untuk menggantikan git_server_ip dengan nama hos pelayan atau alamat IP anda.

Untuk mengesahkan bahawa semuanya telah disiapkan dengan betul, buat fail ujian:

touch test_file

Tambah perubahan pada kawasan pementasan:

git add.

Buat perubahan:

git commit -m "descriptive message"

Tolak perubahan repositori tempatan ke repositori jauh:

git push -u origin master

Sekiranya semuanya ditetapkan dengan betul, output seharusnya kelihatan seperti ini:

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

Untuk menambah kolaborator baru, hanya salin kekunci SSH awam ke fail ~/.ssh/authorized_keys pengguna "git".

Anda boleh menggunakan langkah yang sama untuk membuat repositori baharu. Penting untuk diketahui bahawa repositori jauh mesti wujud sebelum anda menambah remote git ke repositori setempat anda.

Kesimpulannya

Dalam tutorial ini, kami telah menunjukkan kepada anda bagaimana untuk menyediakan pelayan Git peribadi anda sendiri dan buat repositori.