
1、創(chuàng)建倉庫
git init 倉庫名稱,例如:git init test? 創(chuàng)建了一個名為test的倉庫
若果你想把你的在已有代碼的工程里面推送你的代碼到遠(yuǎn)程倉庫,可以直接在你的工程根目錄里面執(zhí)行g(shù)it?init。例如
git remote add origin https://github.com/hanyunmuyu/mobile.git?這樣你就把你工程下的代碼和遠(yuǎn)程倉庫建了上下游關(guān)系,然后執(zhí)行pull,拉取遠(yuǎn)端的代碼,然后執(zhí)行g(shù)it checkout master?切換到master分支,默認(rèn)情況下,git?會切換到master主干上面,你可以執(zhí)行g(shù)it branch --set-upstream-to=origin/ master ,把我們本地的代碼和遠(yuǎn)端的分支建立上下游的對應(yīng)關(guān)系 ,例如: git branch --set-upstream-to=origin/master master ,這樣我們本地倉庫的master分支就會和遠(yuǎn)端的分支建立了上下游關(guān)系,以后我們執(zhí)行g(shù)it?pull?就會拉取到遠(yuǎn)端master的代碼。
2、克隆代碼
我們第一次拉取遠(yuǎn)端倉庫的代碼可以執(zhí)行g(shù)it?clone?倉庫地址? 本地目錄,這樣我們就把遠(yuǎn)端的倉庫拉取到我們本地,
例如:我們執(zhí)行?git?clone?https://github.com/hanyunmuyu/mobile.git?就會把倉庫里的代碼clone到命令行所在的目錄下面,
我們執(zhí)行?git?clone?https://github.com/hanyunmuyu/mobile.git? test?就會把我們的代碼clone到命令行所在的目錄下面的test目錄里面
3、新建分支
有時間我們在本地新建了一個分支,開發(fā)完成以后,推送到了遠(yuǎn)端倉庫,那么我們應(yīng)該怎么拉取遠(yuǎn)端的代碼呢?
例如:

紅色部分是遠(yuǎn)端的分支,前面帶星號的是目前所在的分支,然后我在本地新建了一個分支v3,執(zhí)行g(shù)it? checkout -b v3 ,新建一個分支v3,同時切換到v3分支上面,如下圖

我們發(fā)現(xiàn),我們本地多了個v3分支,星號標(biāo)識了我們目前所在的分支
我們要想把我們的分支推送到遠(yuǎn)端怎么做呢? git push origin?本地分支名稱:在遠(yuǎn)端顯示的分支名稱?例如:?git push origin v3:v3,如下圖,我們把本地的v3分支推送到遠(yuǎn)端

這樣我們就把本地的分支推送到了遠(yuǎn)端。但是但你執(zhí)行g(shù)it?pull的時候并不能拉取代碼

為什么呢?因為沒有建立上下游的關(guān)系。

這樣當(dāng)前分支就和遠(yuǎn)端建立了上下游關(guān)系,可以在當(dāng)前分支直接執(zhí)行g(shù)it?pull拉取代碼
同樣我們可以根據(jù)我們提交的歷史記錄新建分支
我們執(zhí)行g(shù)it?log?查看我們提交歷史的commit?id

執(zhí)行g(shù)it checkout -b v4 949975bce48da8cc3ce1505ba0a8c69d0645a772可以以這個提交歷史作為基礎(chǔ)新建一下v4分支

4、刪除分支
git branch -D?分支名稱,例如我們先要刪除分支v3?可以執(zhí)行g(shù)it?branch -D?v3

但是我們執(zhí)行了命令并沒有刪除v3分支,為什么呢?因為我們在v3分支上面,我們需要切換到其他分支上面才可以進(jìn)行刪除,例如我們可以切換到master上面,然后再進(jìn)行刪除

有時間我們?yōu)榱吮葘Υa,需要來回在兩個分支之間進(jìn)行來回切換我們可以執(zhí)行g(shù)it?checkout -?在兩個分支之間進(jìn)行來回切換

5、代碼合并
在開發(fā)過程中,團(tuán)隊合作,經(jīng)常需要代碼合并,有時間修復(fù)了線上bug需要合并到線上分支,同樣需要合并代碼。
例如我在v5分支上面新建了一個文件,并且添加到版本控制里面了,但是我想和合并到master分支怎么辦呢?

git?merge?分支名稱? 命令可以合并其他分支到當(dāng)前分支,例如我們合并我們在v5分支上的修改到master分支,我們就需要從v5分支切換到master分支,然后執(zhí)行 git merge v5,這樣我們就會把v5分支上的修改合并到master上面
