Git学习(一)git服务器的简易搭建
Git學(xué)習(xí)(一)git服務(wù)器的簡(jiǎn)易搭建
使用環(huán)境:docker容器模擬的3個(gè)ubuntu14.04的系統(tǒng)
分別模擬了3個(gè)系統(tǒng):
Ubuntu_gitserver:14.04??用于git服務(wù)器的安裝
Ubuntu_git1:14.04???用于模擬git客戶端
Ubuntu_git2:14.04???用于模擬git客戶端
這里可以忽略該docker環(huán)境,相當(dāng)于用了3臺(tái)虛擬機(jī)作為研究環(huán)境
?
該文章主要介紹小團(tuán)隊(duì),基于用戶的git服務(wù)器的搭建
?
一、Ubuntu_gitserver:14.04中安裝git服務(wù)端環(huán)境
1、首先需要在Ubuntu_gitserver:14.04上安裝openssh服務(wù)端,這里我們將服務(wù)端和客戶端都同時(shí)安裝:
sudo?apt-get?install?openssh-server?openssh-client
2、安裝git環(huán)境,作為服務(wù)端的git服務(wù)器(git作為一個(gè)代碼管理工具,既可以作為服務(wù)端也可以作為客戶端管理本地代碼倉庫)
sudo?apt-get?install?git
3、創(chuàng)建一個(gè)git用戶
adduser??git
4、進(jìn)入home目錄創(chuàng)建一個(gè)目錄用于存放倉庫
cd??/home
mkdir?git_pro
5、修改目錄的所屬組為git
chown?git:git?/home/git_pro
6、修改目錄的操作權(quán)限為所有者和所屬組的人為讀、寫、執(zhí)行:
chmod?-R?774?/home/git_pro
7、創(chuàng)建一個(gè)倉庫,并初始化倉庫(注意倉庫必須以.git結(jié)尾,這與客戶端在加入git中的項(xiàng)目先目錄里有個(gè).git文件是一個(gè)道理;.git實(shí)際上就是客戶端的本地倉庫)
mkdir??project.git
cd??project.git
8、初始化倉庫:
git?init?--bare
這樣就在服務(wù)端創(chuàng)建好了一個(gè)可以使用的git倉庫了,為了能在客戶端將本地倉庫推送到服務(wù)端,我們確保ssh服務(wù)是開啟的:
ps?-A?|?grep?ssh
如果沒有開啟,則執(zhí)行:
/etc/init.d/ssh?start
來開啟服務(wù)
?
二、Ubuntu_git1:14.04中安裝客戶端git環(huán)境
1、同服務(wù)端的1?、2?、3?步
2、切換到git用戶,并進(jìn)入到該用戶的home目錄:
su??git
cd?~
3、從服務(wù)端clone倉庫
git?clone?git@server:/home/git/git_pro/project.git
這里的格式為:【git?clone?用戶名@服務(wù)器地址:倉庫路徑】
4、創(chuàng)建一個(gè)文件
touch?readme.txt
向文件里添加內(nèi)容略...
4、將該文件添加到本地git庫中:
git?add?readme.txt
5、提交該文件:
git?commit?-m?“first?commit”
如果commit是出現(xiàn)了這樣的提示:
***?Please?tell?me?who?you?are.
?
Run
?
??git?config?--global?user.email?"you@example.com"
??git?config?--global?user.name?"Your?Name"
?
to?set?your?account's?default?identity.
Omit?--global?to?set?the?identity?only?in?this?repository.
?
fatal:?empty?ident?name?(for?<git@bd10de490d9f.(none)>)?not?allowed
則按照說明,在這里我執(zhí)行以下命令:
git?config?--global?user.email?"git@example.com"
git?config?--global?user.name?"git"
6、推送到遠(yuǎn)程倉庫master:
git?push?origin?master
在這里成功將本地文件推送到了遠(yuǎn)程服務(wù),我們就可以通過正常流程上傳和下拉代碼了(當(dāng)然可能出現(xiàn)ssh的其他報(bào)錯(cuò),上網(wǎng)查詢即可,比如我遇到的:The?autoenticity?of?host?can’t?be?established錯(cuò)誤)
?
如果要添加一個(gè)用戶也能clone,push,pull代碼,例如我們?cè)诜?wù)端創(chuàng)建一個(gè)git1的用戶,把他加入到git組里,那么他也就有了權(quán)限進(jìn)行代碼的讀寫了,下面來做這樣一個(gè)實(shí)驗(yàn):
?
三、Ubuntu_git2:14.04克隆服務(wù)端的代碼
1、首先服務(wù)點(diǎn)創(chuàng)建一個(gè)git2的用戶,并添加到git用戶組里(代碼略)
2、在Ubuntu_git2:14.04這個(gè)虛擬機(jī)中也創(chuàng)建一個(gè)git2的用戶,并切換到該用戶進(jìn)入用戶主目錄
adduser?git2
su?git2
cd?~
3從服務(wù)端克隆該git_pro項(xiàng)目:
git?clone?git2@server:/home/git/git_pro/project.git
這里的格式為:【git?clone?用戶名@服務(wù)器地址:倉庫路徑】
注意:兩個(gè)客戶端再pull代碼的時(shí)候指明分支,否則可能會(huì)出錯(cuò):
There?is?no?tracking?information?for?the?current?branch.
Please?specify?which?branch?you?want?to?merge?with.
See?git-pull(1)?for?details
?
????git?pull?<remote>?<branch>
?
If?you?wish?to?set?tracking?information?for?this?branch?you?can?do?so?with:
?
git?branch?--set-upstream-to=origin/<branch>?master
使用這個(gè)即可:
git?pull?origin?master
這樣就成功克隆下來了項(xiàng)目,接下來我們就可以編輯文件提交上傳,并下拉代碼了。到此整個(gè)環(huán)境搭建完成,如果有新用戶加入,那么就在服務(wù)端創(chuàng)建一個(gè)用戶,并將它加入到git用戶組即可,這樣就可以在客戶端通過ssh下拉、上傳代碼了。
但是團(tuán)隊(duì)人數(shù)增加之后,就比較麻煩,在后面的文章,我將會(huì)介紹,服務(wù)端只創(chuàng)建一個(gè)git用戶,所有的用戶都通過這一個(gè)git用戶來下拉上傳代碼,這里將會(huì)用到ssh-key的方法(創(chuàng)建ssh-key:ssh-keygen?-t?rsa),后面的文章再介紹。
?
?
總結(jié)
以上是生活随笔為你收集整理的Git学习(一)git服务器的简易搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux用户管理常用命令
- 下一篇: git通过authorized_keys