git是分布式版本控制系統(tǒng),同一個(gè)Git倉(cāng)庫(kù),可以分布到不同服務(wù)器上。一般情況下,可以找一臺(tái)電腦充當(dāng)服務(wù)器的角色,每天24小時(shí)開(kāi)機(jī),其他每個(gè)人都從這個(gè)“服務(wù)器”倉(cāng)庫(kù)克隆一份到自己的電腦上,并且各自把各自的提交推送到服務(wù)器倉(cāng)庫(kù)里,也從服務(wù)器倉(cāng)庫(kù)中拉取別人的提交。實(shí)際運(yùn)用中,我們可以使用官方的github網(wǎng)站作為服務(wù)器,如果在企業(yè)里,可以自己搭建一個(gè)git服務(wù)器。
使用github
注冊(cè)github賬號(hào)
到Github官方網(wǎng)站注冊(cè)。由于你的本地Git倉(cāng)庫(kù)和GitHub倉(cāng)庫(kù)之間的傳輸是通過(guò)SSH加密的,所以,需要獲取并設(shè)置秘鑰。
第一步:
在linux用戶主目錄下(/root或者/home/用戶名)通過(guò)ls -ah
命令查看是否有.ssh
目錄,有則進(jìn)入,沒(méi)有就通過(guò)命令$ ssh-keygen -t rsa -C "youremail@example.com"
創(chuàng)建該目錄,里面有id_rsa
私鑰,id_rsa.pub
公鑰
第二步:
登陸GitHub,打開(kāi)“Account settings”,“SSH Keys”頁(yè)面:
然后,點(diǎn)“Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內(nèi)容
添加遠(yuǎn)程庫(kù):已經(jīng)在本地創(chuàng)建了git倉(cāng)庫(kù)。
然后在本地的git倉(cāng)庫(kù)下運(yùn)行命令:
git remote add origin git@github.com:yinyuxin/study.git
讓本地倉(cāng)庫(kù)與github遠(yuǎn)程倉(cāng)庫(kù)連接起來(lái),推薦使用ssh協(xié)議,https協(xié)議不僅網(wǎng)速慢,每次提交還需要輸入口令最后就可以通過(guò)
git push origin master
推送本地倉(cāng)庫(kù)至遠(yuǎn)程倉(cāng)庫(kù),第一次推送加上==-u==
克隆遠(yuǎn)程庫(kù):先有遠(yuǎn)程倉(cāng)庫(kù),再有本地倉(cāng)庫(kù)。
git clone git@github.com:yinyuxin/study.git
使用gitlab
安裝gitlab
配置SSH公鑰
==配置ssh公鑰,使用該協(xié)議限制本機(jī)與服務(wù)器通信,只有SSH公鑰匹配才能修改倉(cāng)庫(kù),秘鑰生成方式和上面github的方式一樣==
創(chuàng)建git項(xiàng)目遠(yuǎn)程庫(kù)
==創(chuàng)建成功后,將會(huì)得到該項(xiàng)目版本庫(kù)的SSH和http地址==
git全局配置
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
==使用--global配置后,每個(gè)git倉(cāng)庫(kù)都會(huì)調(diào)用里面的配置,若要單獨(dú)在某個(gè)項(xiàng)目里配置信息,就到相應(yīng)的git項(xiàng)目文件目錄里 使用以上兩條命令,并且不要加 --global參數(shù)==
本地沒(méi)有g(shù)it版本庫(kù),直接從gitlab上克隆
git clone git@192.168.198.4:root/gitlab-test.git
cd gitlab-test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
本地已經(jīng)有項(xiàng)目代碼,但沒(méi)有創(chuàng)建git版本庫(kù)
cd existing_folder
git init
git remote add origin git@192.168.198.4:root/gitlab-test.git
git add .
git commit -m "Initial commit"
git push -u origin master
本地已經(jīng)有g(shù)it版本庫(kù)
cd existing_repo
git remote add origin git@192.168.198.4:root/gitlab-test.git
git push -u origin --all
git push -u origin --tags
==默認(rèn)情況安裝gitlab會(huì)開(kāi)機(jī)自啟動(dòng),可以通過(guò)如下命令關(guān)閉==
systemctl list-unit-file|grep enabled
systemctl diable gitlab-runsvdir.service
==補(bǔ)充:以上兩條命令會(huì)導(dǎo)致本地gitlab服務(wù)無(wú)法啟動(dòng)==