UOS:安裝git并訪問私有倉庫gitlab
學(xué)習(xí)自:linux安裝git 命令行工具,Linux平臺上安裝Git及其配置-CSDN博客
0、常用指令
本節(jié)為常用指令,初學(xué)者請從第一節(jié)開始。
#創(chuàng)建本地庫 cd /usrl/local mkdir gitDocDir
cd gitDocDir git init #從gitlab上拷貝代碼到本地 git clone https://xxx/xxx.git
保存到之前git init的那個目錄下
#本地更新 git add README.md git commit -m 'I carte a file for README.md,version 1.0' #上傳 git push -u origin master
1、判斷UOS上是否已經(jīng)安裝過了git
學(xué)習(xí)自:linux如何判斷是否安裝git ? Worktile社區(qū)
方法一:git --version
如果安裝了,會輸出git版本號信息;
如果沒安裝,會提示找不到該命令。
方法二:包管理器
如果是D開頭的UOS,用apt list -installed | grep git
如果是A開頭的UOS,用yum list installed | grep git
如果輸出結(jié)果中包含了git,表明已經(jīng)安裝了git。
方法三:是否存在git目錄
Linux操作系統(tǒng)中,git的默認(rèn)安裝目錄為/usrbin/git,可以用指令:
ls /usr/bin/git
來判斷該目錄是否存在。
如果通過上述方法看到git已經(jīng)存在了,那么直接用就行,不用再安裝了。
2、安裝Git
學(xué)習(xí)自:linux安裝git 命令行工具,Linux平臺上安裝Git及其配置-CSDN博客
1)按照UOS:統(tǒng)信操作系統(tǒng)UOS上的包管理器上所說的方式,判斷自己的UOS是用yum還是apt-get;
2)以DTC版本為例,它的包管理器為apt-get;
3)安裝Git所需要的依賴工具:curl、zlib、openssl、expat、libiconv:
apt install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
如果apt指令不能用,請改用apt-get
4)安裝git
apt install git
一些老的版本可能是:apt install git-core
3、使用git從gitlab上拉取鏡像
學(xué)習(xí)自:Linux上的gitlab日常操作_linux 如何測試能訪問到 git倉庫-CSDN博客
1)配置用戶名、郵箱
git config --global user.name "用戶名"
git config --global user.email "郵箱"
Git是分布式版本控制系統(tǒng),因此每個機(jī)器都要自報家門:名字、郵箱(這里的名字和郵箱不是瞎填的,和你在gitlab上注冊時填的用戶名、郵箱一致)。
配置完成后,可以去~/.gitconfig中看到之前的配置信息:
cat ~/.gitconfig
[user] name = 用戶名 email = 郵箱
2)創(chuàng)建版本庫
版本庫可以看成一個目錄,這個目錄中的所有文件都可以被Git管理,所有文件的修改、刪除,Git都能跟蹤,以便任何時候都可以追蹤(還原)歷史。
cd /usrl/local
mkdir gitDocDir
git init
響應(yīng):已初始化空的Git倉庫于/usr/local/gitDocDir/.git
3)下載代碼版本庫
①進(jìn)行證書忽略
git config --global http.sslVerify false
②下載庫到本地:git clone
進(jìn)入某個要下載的庫中,點擊Clone,選擇Clone with HTTP,復(fù)制這個url(下圖是用github做示例)

git clone https://xxx/xxx.git
會出現(xiàn)如下響應(yīng)
正克隆到 '本地同名目錄' Username for 'http://xxx': Password for 'http://用戶名@xxx':
需要輸入你在gitlab上注冊時的用戶名和密碼(不是我們在上文git config設(shè)置的那個)。
4)本地更新:git add
cd xxx.git
git add README.md git commit -m 'I carte a file for README.md,version 1.0'
git add只會影響本地版本(詳情見:git add 命令詳解-CSDN博客),如果要把a(bǔ)dd后的文件加到gitlab上,需要用git push。
報錯
如果這里沒有設(shè)置全局用戶名、郵箱(就是我們在第一步中做的事),報錯Git fatal unable to auto-detect email address,解決方案參考自Git fatal unable to auto-detect email address-CSDN博客:
①用git config --local -l查看當(dāng)前項目的git信息
$ git config --local -l core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true remote.origin.url=git@gitee.com:xoncology/shjyzxk.git remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* branch.master.remote=origin branch.master.merge=refs/heads/master branch.test.remote=origin branch.test.merge=refs/heads/test
可以看到?jīng)]有全局用戶信息:user.name和user.email。
②用git config --global設(shè)置全局用戶信息
git config --global user.email "you@domain.com"
git config --global user.name "dev"
③如果用git config --local -l查看后還是沒有全局用戶信息,那么用git config --replace-all來直接替換全局信息:
git config --replace-all user.email "you@domain.com"
git config --replace-all user.name "github_username"
此時再看當(dāng)前項目的git信息:
core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true remote.origin.url=git@gitee.com:xoncology/shjyzxk.git remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* branch.master.remote=origin branch.master.merge=refs/heads/master branch.test.remote=origin branch.test.merge=refs/heads/test user.email=you@domain.com user.name=github_username
以上操作只是在本地進(jìn)行,并不會對遠(yuǎn)程倉庫中的版本造成影響。
5)本地客戶端SSH連接gitlab免密
①本地電腦生成密鑰
ssh-keygen -t rsa
②查看公鑰信息
ssh-rsa
③將公鑰拷貝到gitlab
右上角頭像→Edit Profile→SSH Keys
把~/.ssh/id_rsa.pub的內(nèi)容復(fù)制到這里。

4、上傳、同步
學(xué)習(xí)自:Linux上的gitlab日常操作_linux 如何測試能訪問到 git倉庫-CSDN博客
這一步一定要慎重,初學(xué)者千萬不要把測試版本發(fā)到master上!如果不確定哪一步會有什么后果,建議做一步問一步有經(jīng)驗的人。
1)切換origin
git remote rename origin old-orign
2)連接到遠(yuǎn)程倉庫
git remote add origin https://192.168.1.8:8443/it-group01/it-items.git
3)上傳文件
git push -u origin master
4)查看遠(yuǎn)程版本倉庫信息
git push -u origin master
5)刪除遠(yuǎn)程倉庫信息
git remote remove old-orign
git remote remove origin

浙公網(wǎng)安備 33010602011771號