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