Git学习(一)git服务器的简易搭建
Git學習(一)git服務器的簡易搭建
使用環境:docker容器模擬的3個ubuntu14.04的系統
分別模擬了3個系統:
Ubuntu_gitserver:14.04??用于git服務器的安裝
Ubuntu_git1:14.04???用于模擬git客戶端
Ubuntu_git2:14.04???用于模擬git客戶端
這里可以忽略該docker環境,相當于用了3臺虛擬機作為研究環境
?
該文章主要介紹小團隊,基于用戶的git服務器的搭建
?
一、Ubuntu_gitserver:14.04中安裝git服務端環境
1、首先需要在Ubuntu_gitserver:14.04上安裝openssh服務端,這里我們將服務端和客戶端都同時安裝:
sudo?apt-get?install?openssh-server?openssh-client
2、安裝git環境,作為服務端的git服務器(git作為一個代碼管理工具,既可以作為服務端也可以作為客戶端管理本地代碼倉庫)
sudo?apt-get?install?git
3、創建一個git用戶
adduser??git
4、進入home目錄創建一個目錄用于存放倉庫
cd??/home
mkdir?git_pro
5、修改目錄的所屬組為git
chown?git:git?/home/git_pro
6、修改目錄的操作權限為所有者和所屬組的人為讀、寫、執行:
chmod?-R?774?/home/git_pro
7、創建一個倉庫,并初始化倉庫(注意倉庫必須以.git結尾,這與客戶端在加入git中的項目先目錄里有個.git文件是一個道理;.git實際上就是客戶端的本地倉庫)
mkdir??project.git
cd??project.git
8、初始化倉庫:
git?init?--bare
這樣就在服務端創建好了一個可以使用的git倉庫了,為了能在客戶端將本地倉庫推送到服務端,我們確保ssh服務是開啟的:
ps?-A?|?grep?ssh
如果沒有開啟,則執行:
/etc/init.d/ssh?start
來開啟服務
?
二、Ubuntu_git1:14.04中安裝客戶端git環境
1、同服務端的1?、2?、3?步
2、切換到git用戶,并進入到該用戶的home目錄:
su??git
cd?~
3、從服務端clone倉庫
git?clone?git@server:/home/git/git_pro/project.git
這里的格式為:【git?clone?用戶名@服務器地址:倉庫路徑】
4、創建一個文件
touch?readme.txt
向文件里添加內容略...
4、將該文件添加到本地git庫中:
git?add?readme.txt
5、提交該文件:
git?commit?-m?“first?commit”
如果commit是出現了這樣的提示:
***?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
則按照說明,在這里我執行以下命令:
git?config?--global?user.email?"git@example.com"
git?config?--global?user.name?"git"
6、推送到遠程倉庫master:
git?push?origin?master
在這里成功將本地文件推送到了遠程服務,我們就可以通過正常流程上傳和下拉代碼了(當然可能出現ssh的其他報錯,上網查詢即可,比如我遇到的:The?autoenticity?of?host?can’t?be?established錯誤)
?
如果要添加一個用戶也能clone,push,pull代碼,例如我們在服務端創建一個git1的用戶,把他加入到git組里,那么他也就有了權限進行代碼的讀寫了,下面來做這樣一個實驗:
?
三、Ubuntu_git2:14.04克隆服務端的代碼
1、首先服務點創建一個git2的用戶,并添加到git用戶組里(代碼略)
2、在Ubuntu_git2:14.04這個虛擬機中也創建一個git2的用戶,并切換到該用戶進入用戶主目錄
adduser?git2
su?git2
cd?~
3從服務端克隆該git_pro項目:
git?clone?git2@server:/home/git/git_pro/project.git
這里的格式為:【git?clone?用戶名@服務器地址:倉庫路徑】
注意:兩個客戶端再pull代碼的時候指明分支,否則可能會出錯:
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
使用這個即可:
git?pull?origin?master
這樣就成功克隆下來了項目,接下來我們就可以編輯文件提交上傳,并下拉代碼了。到此整個環境搭建完成,如果有新用戶加入,那么就在服務端創建一個用戶,并將它加入到git用戶組即可,這樣就可以在客戶端通過ssh下拉、上傳代碼了。
但是團隊人數增加之后,就比較麻煩,在后面的文章,我將會介紹,服務端只創建一個git用戶,所有的用戶都通過這一個git用戶來下拉上傳代碼,這里將會用到ssh-key的方法(創建ssh-key:ssh-keygen?-t?rsa),后面的文章再介紹。
?
?
總結
以上是生活随笔為你收集整理的Git学习(一)git服务器的简易搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux用户管理常用命令
- 下一篇: git通过authorized_keys