天天看點

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

前言:

要想成為武林高手,除了要身懷絕技,還需要神兵利器相配。git絕對稱得上是版本管理工具中的倚天劍。正所謂好馬配好鞍,相信用上git的你一定能稱霸碼林,獨步天下!

一、git簡介:

git是一個分布式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。每個人都有一個完整的版本庫,對任何檔案的修改送出操作都是針對本地版本庫,是以無需聯網,速度很快。但是多人協作如何進行呢?很簡單,你隻需要把你的修改推送給對方就可以了。但是這樣互相推來推去很麻煩,是以我們需要一個中央伺服器來中轉一下,本質上它和你的本地版本庫沒有任何差別。GitHub和碼雲都是這樣的中央伺服器,碼雲就相當于國産的GitHub。

二、git的安裝:

1、下載下傳:進入

git官網下載下傳位址

,選擇download,依據自己的作業系統選擇下載下傳。

2、安裝:下載下傳好了安裝檔案後,輕按兩下,然後選擇安裝路徑,一路next即可。

3、配置:在cmd指令行視窗或git bash界面輸入以下指令:

git config --global user.name "使用者名"

git config --global user.email "郵箱"

注意:用這兩個指令設定使用者名和郵箱,不要用中文!

輸入:

git config --list

就可以檢視到自己剛才輸入的使用者名和郵箱。

三、git的使用:

1、git原理:

git主要就是3棵樹:

一個是工作區 ------>就是你的project;

一個是暫存區 ------>暫時存儲本地的修改;

一個是git倉庫 ------>儲存修改後的内容。

2、git工作流程:

在工作目錄添加修改檔案 ---> 将需要進行版本管理的檔案放入暫存區 ---> 将暫存區檔案送出到git倉庫。

3、初始化:在你需要進行版本管理的項目的根目錄下右鍵,git bash here ,執行如下指令:

git init

在該項目目錄下就會生成一個 .git 隐藏檔案夾。

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

image.png

4、檢視狀态:

比如現在修改了testproject,新增了一個index.txt檔案,那麼執行

git status

就可以看到這個檔案。

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

5、将修改的檔案加到暫存區:

git add index.txt

如果修改檔案有很多,就執行

git add .

這就表示把目前目錄所有的修改加到暫存區。

再次執行

git status

就可以看到add成功了。

6、送出到git倉庫:

git commit -m "建立了index.txt"

-m

後面的是注釋說明。

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

再檢視status,就會說沒有需要送出的了。

7、删除倉庫的檔案:

比如我又送出了一個readme.txt,然後又想删掉:

git rm readme.txt

git commit -m "删除了readme.txt"

四、碼雲的使用:

上面介紹的增删改都是基于本地倉庫的,一個大型項目需要團隊合作的話,就需要使用GitHub或者碼雲了,它們就是用來托管代碼的,你可以把你的修改推送到上面,别人從上面就能擷取到你修改後的代碼。接下來介紹碼雲的使用。

1、注冊碼雲:

進入

碼雲官網

按照提示注冊即可。

2、建立空項目:

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

然後填寫相關資訊點選建立即可。如果項目不是空的點選管理,清空即可。

3、把本地項目推到碼雲:

複制碼雲上項目的位址:

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

先用https位址,ssh等下講其配置。

然後在git bash 界面進入到需要上傳的項目根目錄,以剛才的testproject為例,執行推送指令:

git push https://gitee.com/rwxing/testproject.git master

但是報如下錯誤:

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

執行如下指令:

git config --system --unset credential.helper

再次執行推送指令,就會要你輸入碼雲的使用者名以及密碼,輸入後即可推送成功。

4、團隊合作:

所謂團隊合作就是讓别人也有權限去讀寫你碼雲上的那個項目。

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

在這個頁面就可以添加團隊成員。比如添加一個開發者:

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

在這裡輸入你要添加的成員就可以了。

然後你添加的那個成員執行如下指令:

git clone https://gitee.com/rwxing/testproject.git

就可以把項目下載下傳下來,然後進行修改。

修改了再按照步驟送出,再推到碼雲即可。

5、把碼雲上項目下載下傳到本地:

git pull 項目位址 master

或者

git clone 項目位址 master

直接在碼雲上下載下傳zip

,如下圖:

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

注意:

clone與pull的差別:是把碼雲上的項目整個拽下來,本地從無到有,pull是指更新分支,本地與碼雲上的有差異才能執行。

把下載下傳的項目導入eclipse:導入時不能import exiting project into workspace,應該 import project from folder or archive,否則會報錯no project found。

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

6、檢視日志:

git log

git log --pretty=oneline

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

7、版本切換:

git reset --hard HEAD^^^

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

三個^就表示切換到HEAD往前數第三個對應的版本。

但是這樣寫不好,還要數往前幾個,是以用下面的指令更好:

git reset --hard 版本号

版本号就是檢視日志時查出的那一串,但是頁不用寫全版本号,寫開頭幾個,能與其他版本取别開來就可以。

如果你用指令回到了修改前的初始狀态,但是後悔了,發現這修改是有用的,想回到之前的修改狀态,執行下面的指令:

git reflog

這個指令可以檢視被你幹掉的那些版本的版本号。

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

git reset --hard 5c44d

這樣就可以随意的切換版本。

8、分支管理:

分支的了解:

分支其實很好了解,比如有兩條河,它們彙入同一條江,那麼這條江就是主線,兩條河就是分支。那麼分支有何好處呢?好處就是分支送出之前不會影響主線。比如一個小孩子在河裡尿尿,還有一個小孩子在另一條河裡洗腳,假設他們尿尿和洗腳都要手動送出後,攜帶洗腳水和尿的河水才會彙入到那條江中,那麼在他們沒有送出之前,江水還是幹淨的。雖然比喻不太恰當,但個人覺得還是能了解的。

分支的操作:

檢視分支:

git branch

建立分支:

git branch 分支名

切換分支:

git checkout 分支名

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

這時候你就可以在branch1分支上修改程式,而不會影響master。比如新增了一個A功能,要新增branch.txt。

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

這時候經理又說先别管這個功能了,有更重要B功能要完成。那麼完成了一半的brand.txt怎麼辦?這時就可以執行如下指令:

儲存送出未完成的分支:

git add .

git commit -m "brand1 todo"

切回到master:

git checkout master

切回到master後,你會發現剛才新增的brand.txt不見了。

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

這時候再建一個分支branch2,用于完成B功能。B功能完成後,就add和commit一下,然後切回到master,把branch2分支上的内容合并到master上。

合并分支:

git merge branch2

9、遠端倉庫配置:

檢視該項目在碼雲上的位址和位址别名:

git remote -v

删除該項目位址别名:

git remote remove 位址别名

為項目位址添加别名:

git remote add origin 項目位址

注意:是位址别名不是項目名

每次push都要輸入使用者名密碼,麻煩得很,是以可以配置公鑰。

配置公鑰後https的位址就不能用了,要換成ssh的位址,執行如下步驟:

删掉https位址:

git remote remove origin

添加ssh位址:

git remote add origin ssh位址

配置公鑰:

生成公鑰與秘鑰:

ssh-keygen -t rsa -C [email protected]

這個郵箱就是剛安裝git時,git config user.email時輸入的郵箱

輸入這個指令後一路回車即可。

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

找到圖中公鑰檔案:

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

打開檔案,把公鑰複制下來,然後在下圖處粘貼即可。

版本管理的倚天劍 --- git前言:一、git簡介:二、git的安裝:三、git的使用:四、碼雲的使用:總結:

這樣再push時就不用輸入使用者名密碼了。

總結:

git學習内容不多,就那幾個指令,一般上傳就是先

init

,再

add

,然後

commit

,最後

push

就可以了;下載下傳就是

pull

clone

或者直接下載下傳zip檔案;把下載下傳好的項目導入eclipse一定要注意導入方式,在上面注意事項中已經說過。

以上内容屬于個人筆記整理,如有錯誤,歡迎批評指正!