欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解在Linux下搭建Git服務(wù)器

 更新時(shí)間:2017年04月07日 11:17:54   作者:岳永  
本篇文章主要介紹了詳解在Linux下搭建Git服務(wù)器,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

眾所周知,版本系統(tǒng)在開發(fā)環(huán)境中是必不可少的,但是我們可以把代碼免費(fèi)的托管到GitHub上,如果我們不原意公開項(xiàng)目的源代碼,公司又不想付費(fèi)使用,那么我們可以自己搭建一臺(tái)Git服務(wù)器,可以用Gitosis來管理公鑰,還是比較方便的。

搭建環(huán)境:

服務(wù)器 CentOS6.6 + git(version 1.8.3.1)

客戶端 Windows10 + git(version 2.11.1.windows.1)

1. 安裝Git相關(guān)軟件

Linux是服務(wù)器端系統(tǒng),Windows作為客戶端系統(tǒng),分別安裝Git

安裝服務(wù)端:

[root@linuxprobe ~]# yum install -y git
[root@localhost ~]# git --version   //安裝完后,查看 Git 版本
git version 1.8.3.1

安裝客戶端:

下載 Git for Windows,地址:https://git-for-windows.github.io/

安裝完之后,可以使用Git Bash作為命令行客戶端。

$ git --version
git version 2.11.1.windows.1    //安裝完之后,查看Git版本

安裝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

出現(xiàn)下面的信息表示安裝成功了

 Using /usr/lib/python2.6/site-packages
 Finished processing dependencies for gitosis==0.2

2. 服務(wù)器端創(chuàng)建git用戶來管理Git服務(wù)

[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. 配置公鑰

在Windows上配置管理者,git服務(wù)器需要一些管理者,通過上傳開發(fā)者機(jī)器的公鑰到服務(wù)器,添加成為git服務(wù)器的管理者,打開git命令行

$ ssh-keygen -t rsa   //一直回車,不需要設(shè)置密碼
~ scp ~/.ssh/id_rsa.pub git@192.168.34.184:~  //復(fù)制到git服務(wù)器上

4. 配置gitosis

使用git用戶并初始化gitosis

[root@linuxprobe ~]# cd .ssh
[root@linuxprobe ~]# gitosis-init < ./id_rsa.pub
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   //添加權(quán)限

在Windows上機(jī)器上clone gitosis-admin到管理者主機(jī)

$ git clone ssh://git@192.168.34.184:22/gitosis-admin.git
$ cd gitosis-admin
$ ls
$ gitosis.conf keydir

gitosis.conf: git服務(wù)器配置文件

keydir: 存放客戶端公鑰

配置gitosis.conf文件

$ vim gitosis.conf
[gitosis]

[group gitosis-admin]      #組名稱
members = yueyong@SHA2-001    #組成員
writable = gitosis-admin     #項(xiàng)目名稱

[group test]        //這里添加了"test"項(xiàng)目組,上傳到個(gè)git服務(wù)器
members = yueyong@SHA2-001
writable = test

在Windows管理者機(jī)器上創(chuàng)建本地test倉庫,并上傳到git服務(wù)端

$ git config --global user.name "Your Name"     //第一次提交需要設(shè)置個(gè)人信息,設(shè)置用戶名和郵箱
$ git config --global user.email "email@example.com"
$ cd ~/repo 
$ mkdir test
$ git init
$ tocuh readme.txt

提交到遠(yuǎn)程服務(wù)器

$ git add .
$ git commit -a -m 'init test'
$ git remote add repo git@192.168.186.129:test.git  //repo 遠(yuǎn)程庫的名稱,可以換成任意名稱
$ git push repo master  //上傳本地所有分支代碼到遠(yuǎn)程對(duì)應(yīng)的分支上

服務(wù)端會(huì)自動(dòng)創(chuàng)建test倉庫

[git@repositories]# pwd
/home/git/repositories
[git@linuxprobe repositories]$ ls
gitosis-admin.git test.git

5.添加其他git用戶開發(fā)者

由于公司開發(fā)團(tuán)隊(duì)人數(shù)不斷增多,手動(dòng)添加開發(fā)者私鑰到/home/git/.ssh/authorized_keys比較麻煩,通過上面的Windows機(jī)器的管理者統(tǒng)一收集其他開發(fā)者的私鑰id_rsa.pub文件,然后傳到服務(wù)器上,配置好后,用戶即獲得項(xiàng)目權(quán)限,可以從遠(yuǎn)程倉庫拉取和推送項(xiàng)目,達(dá)到共同開發(fā)項(xiàng)目。

$ cd ~/gitosis-admin/keydir
$ mv ~/id_rsa.pub zhangsan@SHA2-002.pub     //修改公鑰為主機(jī)名.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

推送完成后,新加進(jìn)來的開發(fā)者就可以進(jìn)行項(xiàng)目的開發(fā)了,后續(xù)增加人員可以這樣添加進(jìn)來,開發(fā)者直接把倉庫clone下來就可以了。

git clone git@192.168.34.184:/home/git/repositories/test.git

報(bào)錯(cuò)問題:ERROR:gitosis serve main repository read access denied

根據(jù)這個(gè)報(bào)錯(cuò),可以看出key是沒問題的,通過排查,發(fā)現(xiàn)不應(yīng)該把這個(gè)/home/git/repositories/test.git寫全,git clone git@192.168.34.184:test.git

這樣就可以了。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • linux 下的yum命令詳解

    linux 下的yum命令詳解

    yum(全稱為 Yellow dog Updater, Modified)是一個(gè)在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。這篇文章給大家介紹linux 下的yum命令,需要的朋友參考下吧
    2016-12-12
  • 用strace查找進(jìn)程卡死的原因分析

    用strace查找進(jìn)程卡死的原因分析

    這篇文章主要介紹了用strace查找進(jìn)程卡死的原因分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • linux中的系統(tǒng)掛載(卸載)U盤(文件系統(tǒng))

    linux中的系統(tǒng)掛載(卸載)U盤(文件系統(tǒng))

    這篇文章主要介紹了linux中的系統(tǒng)掛載(卸載)U盤(文件系統(tǒng)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Linux系統(tǒng)下Tomcat使用80端口的方法

    Linux系統(tǒng)下Tomcat使用80端口的方法

    這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)下Tomcat使用80端口的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Tomcat具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 判斷Unix系統(tǒng)及庫文件是32位還是64位的詳解

    判斷Unix系統(tǒng)及庫文件是32位還是64位的詳解

    這篇文章主要介紹了判斷Unix系統(tǒng)及庫文件是32位還是64位的的相關(guān)資料,這里整理下查看系統(tǒng)位數(shù)的命令,需要的朋友可以參考下
    2016-11-11
  • Linux:FTP工具及SSH遠(yuǎn)程連接工具的使用方式

    Linux:FTP工具及SSH遠(yuǎn)程連接工具的使用方式

    這篇文章主要介紹了Linux:FTP工具及SSH遠(yuǎn)程連接工具的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • linux操作系統(tǒng)下配置ssh/sftp和權(quán)限設(shè)置方法

    linux操作系統(tǒng)下配置ssh/sftp和權(quán)限設(shè)置方法

    這篇文章主要介紹了linux操作系統(tǒng)下配置ssh/sftp和權(quán)限設(shè)置方法 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11
  • 詳解Linux多線程編程(不限Linux)

    詳解Linux多線程編程(不限Linux)

    本篇文章主要介紹了Linux多線程編程,詳解的介紹了為什么要使用線程,使用線程的理由和優(yōu)點(diǎn)等,有需要的可以了解一下。
    2016-12-12
  • Linux下一個(gè)智能重啟Apache服務(wù)器的腳本分享

    Linux下一個(gè)智能重啟Apache服務(wù)器的腳本分享

    這篇文章主要介紹了Linux下一個(gè)智能重啟Apache服務(wù)器的腳本分享,當(dāng)檢測到腳本中所設(shè)定的服務(wù)器異常情況下便可執(zhí)行自動(dòng)重啟,需要的朋友可以參考下
    2015-07-07
  • linux中通過文件描述符獲取文件絕對(duì)路徑的方法

    linux中通過文件描述符獲取文件絕對(duì)路徑的方法

    下面小編就為大家?guī)硪黄猯inux中通過文件描述符獲取文件絕對(duì)路徑的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12

最新評(píng)論