前言:要想成為武林高手,除了要身懷絕技,還需要神兵利器相配。git絕對(duì)稱得上是版本管理工具中的倚天劍。正所謂好馬配好鞍,相信用上git的你一定能稱霸碼林,獨(dú)步天下! 一、git簡(jiǎn)介:git是一個(gè)分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。每個(gè)人都有一個(gè)完整的版本庫(kù),對(duì)任何文件的修改提交操作都是針對(duì)本地版本庫(kù),所以無(wú)需聯(lián)網(wǎng),速度很快。但是多人協(xié)作如何進(jìn)行呢?很簡(jiǎn)單,你只需要把你的修改推送給對(duì)方就可以了。但是這樣互相推來(lái)推去很麻煩,所以我們需要一個(gè)中央服務(wù)器來(lái)中轉(zhuǎn)一下,本質(zhì)上它和你的本地版本庫(kù)沒(méi)有任何區(qū)別。GitHub和碼云都是這樣的中央服務(wù)器,碼云就相當(dāng)于國(guó)產(chǎn)的GitHub。 二、git的安裝:1、下載: 官網(wǎng)下載地址: 2、安裝:下載好了安裝文件后,雙擊,然后選擇安裝路徑,一路next即可。 3、配置:在cmd命令行窗口或git bash界面輸入以下命令:
注意:用這兩個(gè)命令設(shè)置用戶名和郵箱,不要用中文! 輸入:
就可以查看到自己剛才輸入的用戶名和郵箱。 三、git的使用:1、git原理: git主要就是3棵樹: 一個(gè)是工作區(qū) ------>就是你的project; 一個(gè)是暫存區(qū) ------>暫時(shí)存儲(chǔ)本地的修改; 一個(gè)是git倉(cāng)庫(kù) ------>保存修改后的內(nèi)容。 2、git工作流程: 在工作目錄添加修改文件 ---> 將需要進(jìn)行版本管理的文件放入暫存區(qū) ---> 將暫存區(qū)文件提交到git倉(cāng)庫(kù)。 3、初始化: 在你需要進(jìn)行版本管理的項(xiàng)目的根目錄下右鍵,git bash here ,執(zhí)行如下命令:
在該項(xiàng)目目錄下就會(huì)生成一個(gè) .git 隱藏文件夾。 4、查看狀態(tài): 比如現(xiàn)在修改了testproject,新增了一個(gè)index.txt文件,那么執(zhí)行
就可以看到這個(gè)文件。 5、將修改的文件加到暫存區(qū):
如果修改文件有很多,就執(zhí)行
這就表示把當(dāng)前目錄所有的修改加到暫存區(qū)。 再次執(zhí)行 6、提交到git倉(cāng)庫(kù):
7、刪除倉(cāng)庫(kù)的文件: 比如我又提交了一個(gè)readme.txt,然后又想刪掉:
四、碼云的使用:上面介紹的增刪改都是基于本地倉(cāng)庫(kù)的,一個(gè)大型項(xiàng)目需要團(tuán)隊(duì)合作的話,就需要使用GitHub或者碼云了,它們就是用來(lái)托管代碼的,你可以把你的修改推送到上面,別人從上面就能獲取到你修改后的代碼。接下來(lái)介紹碼云的使用。 1、注冊(cè)碼云: 進(jìn)入碼云官網(wǎng): 2、新建空項(xiàng)目: 3、把本地項(xiàng)目推到碼云: 復(fù)制碼云上項(xiàng)目的地址: 然后在git bash 界面進(jìn)入到需要上傳的項(xiàng)目根目錄,以剛才的testproject為例,執(zhí)行推送命令:
但是報(bào)如下錯(cuò)誤: 執(zhí)行如下命令:
再次執(zhí)行推送命令,就會(huì)要你輸入碼云的用戶名以及密碼,輸入后即可推送成功。 4、團(tuán)隊(duì)合作: 所謂團(tuán)隊(duì)合作就是讓別人也有權(quán)限去讀寫你碼云上的那個(gè)項(xiàng)目。 在這里輸入你要添加的成員就可以了。 然后你添加的那個(gè)成員執(zhí)行如下命令:
就可以把項(xiàng)目下載下來(lái),然后進(jìn)行修改。 修改了再按照步驟提交,再推到碼云即可。 5、把碼云上項(xiàng)目下載到本地:
或者
或者直接在碼云上下載zip,如下圖: 注意: clone與pull的區(qū)別:是把碼云上的項(xiàng)目整個(gè)拽下來(lái),本地從無(wú)到有,pull是指更新分支,本地與碼云上的有差異才能執(zhí)行。 把下載的項(xiàng)目導(dǎo)入eclipse:導(dǎo)入時(shí)不能import exiting project into workspace,應(yīng)該 import project from folder or archive,否則會(huì)報(bào)錯(cuò)no project found。 6、查看日志:
或
7、版本切換:
版本號(hào)就是查看日志時(shí)查出的那一串,但是頁(yè)不用寫全版本號(hào),寫開頭幾個(gè),能與其他版本取別開來(lái)就可以。 如果你用命令回到了修改前的初始狀態(tài),但是后悔了,發(fā)現(xiàn)這修改是有用的,想回到之前的修改狀態(tài),執(zhí)行下面的命令:
這個(gè)命令可以查看被你干掉的那些版本的版本號(hào)。
這樣就可以隨意的切換版本。 8、分支管理: 分支的理解: 分支其實(shí)很好理解,比如有兩條河,它們匯入同一條江,那么這條江就是主線,兩條河就是分支。那么分支有何好處呢?好處就是分支提交之前不會(huì)影響主線。比如一個(gè)小孩子在河里尿尿,還有一個(gè)小孩子在另一條河里洗腳,假設(shè)他們尿尿和洗腳都要手動(dòng)提交后,攜帶洗腳水和尿的河水才會(huì)匯入到那條江中,那么在他們沒(méi)有提交之前,江水還是干凈的。雖然比喻不太恰當(dāng),但個(gè)人覺(jué)得還是能理解的。 分支的操作: 查看分支:
創(chuàng)建分支:
切換分支:
這時(shí)候經(jīng)理又說(shuō)先別管這個(gè)功能了,有更重要B功能要完成。那么完成了一半的brand.txt怎么辦?這時(shí)就可以執(zhí)行如下命令: 保存提交未完成的分支:
切回到master:
切回到master后,你會(huì)發(fā)現(xiàn)剛才新增的brand.txt不見了。 這時(shí)候再建一個(gè)分支branch2,用于完成B功能。B功能完成后,就add和commit一下,然后切回到master,把branch2分支上的內(nèi)容合并到master上。 合并分支:
9、遠(yuǎn)程倉(cāng)庫(kù)配置: 查看該項(xiàng)目在碼云上的地址和地址別名:
刪除該項(xiàng)目地址別名:
為項(xiàng)目地址添加別名:
注意:是地址別名不是項(xiàng)目名 每次push都要輸入用戶名密碼,麻煩得很,所以可以配置公鑰。 配置公鑰后https的地址就不能用了,要換成ssh的地址,執(zhí)行如下步驟: 刪掉https地址:
添加ssh地址:
配置公鑰: 生成公鑰與秘鑰: 這個(gè)郵箱就是剛安裝git時(shí),git config user.email時(shí)輸入的郵箱 輸入這個(gè)命令后一路回車即可。
找到圖中公鑰文件: 這樣再push時(shí)就不用輸入用戶名密碼了。 總結(jié):git學(xué)習(xí)內(nèi)容不多,就那幾個(gè)命令,一般上傳就是先 |
|
|