由于項(xiàng)目要求,需要上傳項(xiàng)目到 gitlab上,剛開(kāi)始我是一臉懵逼的,之前用都沒(méi)用過(guò)這個(gè),后來(lái)多虧了萬(wàn)能的度娘,圓滿的完成了任務(wù),現(xiàn)在記錄一下詳細(xì)步驟,分享給大家。
一、登錄
首先你需要擁有一個(gè)gitlab的賬號(hào),點(diǎn)擊網(wǎng)址https://gitlab.com/users/sign_in , 進(jìn)行登錄。默認(rèn)管理員會(huì)為使用者開(kāi)通賬號(hào)并設(shè)置權(quán)限,如是否可創(chuàng)建group等。
二、修改密碼等賬號(hào)信息
使用初始密碼登錄的時(shí)候,會(huì)提示你去修改初始密碼
或者點(diǎn)擊右側(cè)的My Profile也可以修改密碼
三、生成ssh key
打開(kāi)終端輸入以下命令
- ssh-keygen -t rsa -C“這里填你的gitlab的賬號(hào),一般為郵箱”
如:ssh-keygen -t rsa -C“jenson.zhangpeng@gmail.com”
生成的公司秘鑰會(huì)提示是否需要重命名,詢問(wèn)你是否要修改密碼,直接敲回車兩次就可以了,就出現(xiàn)下面圖片所示
這時(shí)候查看 .ssh/目錄,可以看到公私秘鑰已經(jīng)生成,名稱分別為id_rsa.pub、id_rsa
2.執(zhí)行命令查看公鑰內(nèi)容,也就是ssh key
cat ~/.ssh/id_rsa.pub
或者直接用nano編輯期打開(kāi)id_rsa.pub。公鑰大概是這個(gè)樣子:
3.直接把ssh key那一串密匙復(fù)制粘貼到gitlab上需要填寫ssh key的地方
保存就可以了。
以上步驟就完成了在gitlab上的操作,接下來(lái)就是在soureTree上的操作了。
四、下載sourceTree
1.登錄sourceTree
install后頁(yè)面如下,我是去注冊(cè)了一個(gè)谷歌的賬號(hào),點(diǎn)擊log in with Google,進(jìn)入頁(yè)面,登錄賬號(hào)后進(jìn)入一個(gè)允許授權(quán)的頁(yè)面,點(diǎn)擊允許,然后會(huì)讓你設(shè)置在sourceTree上的密碼,設(shè)置完成后就可以了。這里就只有一開(kāi)始頁(yè)面的截圖,后續(xù)沒(méi)去截圖,只要一步一步下去,完成即可。如果使用的是github的賬號(hào),可以直接登錄。
2.新建一個(gè)新倉(cāng)庫(kù)
1).點(diǎn)擊從url克隆
2).在gitlab上獲取http地址復(fù)制
粘貼在源URL地方
目標(biāo)路徑一般不使用系統(tǒng)默認(rèn)的地址,自己在finder里面建一個(gè)文件夾,選到這個(gè)地址就可以了,名稱不用改。
3)進(jìn)入頁(yè)面
五、上傳文件
等待數(shù)秒后,SourceTree會(huì)為我們自動(dòng)打開(kāi)我們剛才克隆的倉(cāng)庫(kù),選擇master選項(xiàng),這里我們可以看到我們倉(cāng)庫(kù)里的所有文件
接下來(lái)我們想要上傳一個(gè)項(xiàng)目至我們的遠(yuǎn)程GitLab倉(cāng)庫(kù)內(nèi)。我們點(diǎn)擊右上角“在Finder”中顯示。然后SourceTree會(huì)幫我們打開(kāi)我們的本地倉(cāng)庫(kù),我們將需要上傳的項(xiàng)目復(fù)制到本地的Finder文件夾內(nèi),然后關(guān)閉文件夾,回到主頁(yè)面。我們會(huì)發(fā)現(xiàn)工作副本出現(xiàn)了更改提示
我們點(diǎn)擊工作副本,然后我們發(fā)現(xiàn)我們剛才上傳的文件都在未暫存文件當(dāng)中,此時(shí),我們勾選“未暫存文件”
發(fā)現(xiàn)我們的文件變成了已暫存文件。此時(shí),我們可以輸入更新信息,然后,點(diǎn)擊提交按鈕
我們切換回master分支,會(huì)發(fā)現(xiàn)master分支以及推送(Push)按鈕,都出現(xiàn)了更改提示。這表示SourceTree已經(jīng)將我們剛才添加的文件成功提交到本地倉(cāng)庫(kù),而本地倉(cāng)庫(kù)的內(nèi)容則比遠(yuǎn)程倉(cāng)庫(kù)超前了一個(gè)版本。我們這個(gè)時(shí)候點(diǎn)擊推送(Push)即可將本地倉(cāng)庫(kù)的內(nèi)容同步至遠(yuǎn)程倉(cāng)庫(kù)。
點(diǎn)擊推送(push),等待片刻即可,我們重新登錄github網(wǎng)站,會(huì)發(fā)現(xiàn)我們剛才本地倉(cāng)庫(kù)的文件已經(jīng)成功推送到遠(yuǎn)程倉(cāng)庫(kù)
注意點(diǎn):
如果上傳xcode文件會(huì)有個(gè)注意點(diǎn),xcode默認(rèn)本地git管理,你如果把整個(gè)文件夾直接復(fù)制進(jìn)去,在sourcetree里面不會(huì)有任何變化,這時(shí)候你可以選擇:
1).把文件夾里面的文件直接復(fù)制粘貼出來(lái)到本地倉(cāng)庫(kù)里,這樣就可以
2).利用終端把本項(xiàng)目xcode的本地git給刪掉
a.在終端輸入顯示隱藏文件.git命令:
defaults write com.apple.finder AppleShowAllFiles -bool true
b.先關(guān)閉xcode,然后到終端界面,進(jìn)入到項(xiàng)目的目錄,手動(dòng)刪除.git文件或者用rm -fr .git 命令刪除git.
c.這樣之后再把整個(gè)文件夾復(fù)制到本地倉(cāng)庫(kù)里面
六、后續(xù)
以后如果更改了文件,進(jìn)入sourcetree他就會(huì)提示修改的文件,直接提交推送就可以了。
如果多人使用這個(gè)項(xiàng)目,先拉取,再提交推送。
拉取就是把遠(yuǎn)程倉(cāng)庫(kù)里面的東西同步到本地倉(cāng)庫(kù)里。
附:
SourceTree下載網(wǎng)盤:
鏈接: 鏈接: https://pan.baidu.com/s/1slBO3OL 密碼: pmhm
(下載安裝后有可能會(huì)提示文件已損壞問(wèn)題,其實(shí)不是文件損壞,是mac電腦自帶的防火墻給攔截了,點(diǎn)開(kāi)電腦的設(shè)置-安全與隱私-允許任何路徑安裝,就可以了)
七、如果不想用sourceTree上傳,也可以直接用終端上傳
進(jìn)入工程目錄 cd $project_root
初始化git倉(cāng)庫(kù) git init
添加文件到倉(cāng)庫(kù) git add .
提交代碼到倉(cāng)庫(kù) git commit -m 'init commit'
鏈接到git server git remote add origin git@example.com:namespace/projectname.git
push代碼到服務(wù)器 git push origin master
八、可能出現(xiàn)問(wèn)題
出現(xiàn)圖片下面的問(wèn)題,可能是權(quán)限問(wèn)題,查看一下項(xiàng)目的權(quán)限是private還是其他,也有可能是服務(wù)器設(shè)置問(wèn)題。