說(shuō)明:緊緊安裝了Git,只是完成了一小步額穿扳,下面我們就要進(jìn)行一些相關(guān)的配置了躯畴。
Git跟蹤誰(shuí)修改了項(xiàng)目,哪怕參與項(xiàng)目開發(fā)的只有一個(gè)人误趴。為此霹琼,Git需要知道你的用戶名和電子郵件。
第一項(xiàng) 設(shè)置用戶名和郵箱
第1步 創(chuàng)建一個(gè)空文件夾冤留,鼠標(biāo)右鍵打開Git Bash Here
注意:一定要在該文件夾里右鍵鼠標(biāo)打開1棠摇J髟睢纤怒!
第2步 設(shè)置用戶名和郵箱
git config –global user.name “your name”
git config –global user.email “your email”
第3步 在C盤查看.gitconfig文件是否生成
第4步 打開.gitconfig文件查看信息
這樣你的用戶名和郵箱就配置好了。
第二項(xiàng) Git具體命令
在進(jìn)行具體命令講解之前天通,我先對(duì)下面我要講解的一些命令做一個(gè)總結(jié)泊窘,當(dāng)然,現(xiàn)在肯定不懂像寒,不過(guò)沒關(guān)系啊烘豹,有個(gè)印象就好!
序號(hào) | 命令名稱 | 說(shuō)明 |
---|---|---|
1 | mkdri test(test為項(xiàng)目名稱) | 創(chuàng)建項(xiàng)目 |
2 | cd test | 切換到test目錄 |
3 | touch aa.md | 創(chuàng)建文件aa.md |
4 | git init | 初始化倉(cāng)庫(kù) |
5 | git status | 查看git倉(cāng)庫(kù)狀態(tài) |
6 | git add | 添加文件到緩存 |
7 | git commit -m'message' | 提交诺祸,并添加信息 |
8 | git log | 查看日志 |
9 | git branch | 查看分支 |
10 | git branch a | 創(chuàng)建分支a |
11 | git checkout a | 切換到分支a |
12 | git checkout -b a | 創(chuàng)建分支a的同時(shí)切換到分支a |
13 | git merge | 合并分支 |
14 | git branch -d | 刪除分支 |
15 | git branch -D | 強(qiáng)制刪除分支 |
16 | git tag | 添加版本標(biāo)簽 |
下面我們就來(lái)逐個(gè)講解命令:
<1> mkdri(創(chuàng)建要進(jìn)行版本控制的項(xiàng)目(又稱版本庫(kù)))
按照下面的語(yǔ)句在CMD控制臺(tái)中(上文創(chuàng)建的文件夾下)創(chuàng)建
mkdri test (創(chuàng)建一個(gè)test的項(xiàng)目携悯,名字任意)
cd test (切換到test目錄中)
touch aa.md (創(chuàng)建一個(gè)aa.md文件)
如果我們現(xiàn)在在test目錄下運(yùn)行命令git status,會(huì)出現(xiàn)下面界面:
會(huì)提示:test還不是一個(gè)repository筷笨,因此我們需要做的是進(jìn)行倉(cāng)庫(kù)的初始化憔鬼。
<2> Git init(初始化倉(cāng)庫(kù))
輸入git init后表示進(jìn)行了倉(cāng)庫(kù)的初始化龟劲,會(huì)出現(xiàn)下面的結(jié)果:
<3> git status(查看git倉(cāng)庫(kù)的狀態(tài))
20.png
on branch:
No commits yet:目前還沒有任何的提交操作
Untracked files:提示aa.md文件還沒有被跟蹤,還沒有被提交到倉(cāng)庫(kù)中
<4> git add(添加文件到緩存)
我們利用git add命令將aa.md文件添加到緩存中
當(dāng)然也可以利用命令git rm --cached命令去移除這個(gè)緩存
<5> git commit -m'first commit'(提交)
- m‘first commit’:m后面表示提交的信息
- 查看git status會(huì)發(fā)現(xiàn)轴或,nothing to commit表示沒有要被提交的東西了
<6> git log(查看日志)
可以查看所有提交的信息昌跌。
<7> git branch(分支)
說(shuō)明:
???????branch 即分支的意思,分支的概念很重要照雁,尤其是團(tuán)隊(duì)協(xié)作的時(shí)候蚕愤,假設(shè)兩個(gè)人都在做同一個(gè)項(xiàng)目,這個(gè)時(shí)候分支就是保證兩人能協(xié)同合作的最大利器了饺蚊。舉個(gè)例子萍诱,A B倆人都在做同,一個(gè)項(xiàng)目,但是不同的模塊污呼,這個(gè)時(shí)候A新建了一個(gè)分支叫a砂沛, B新建了一個(gè)分支叫b,這樣A曙求、B做的所有代碼改動(dòng)都各自在各自的分支碍庵,互不影響,等到倆人都把各自的模塊都做完了悟狱,最后再統(tǒng)一把分支合并起來(lái)静浴。
???????執(zhí)行 git init 初始化git倉(cāng)庫(kù)之后會(huì)默認(rèn)生成一個(gè)主分支 master ,也是你所在的默認(rèn)分支挤渐,也基本是實(shí)際開發(fā)正式環(huán)境下的分支苹享,一般情況下 master 分支不會(huì)輕易直接在上面操作的,你們可以輸入 git branch 查看下當(dāng)前分支情況:
- *master:表示當(dāng)前的分支是master
???????如果我們想在此基礎(chǔ)上新建一個(gè)分支呢浴麻,很簡(jiǎn)單得问,執(zhí)行 git branch a 就新建了一個(gè)名字叫 a 的分支,這時(shí)候分支 a 跟分支 master 是一模一樣的內(nèi)容软免,我們?cè)佥斎?git branch 查看的當(dāng)前分支情況:
25.png
???????可以看到 有兩個(gè)分支宫纬,但是master 分支前有個(gè) * 號(hào),即雖然新建了一個(gè) a 的分支膏萧,但是當(dāng)前所在的分支還是在 master 上漓骚,如果我們想在 a 分支上進(jìn)行開發(fā),首先要先切換到 a 分支上才行榛泛,所以下一步要切換分支:
git checkout a
26.png
可以看到當(dāng)前我們?cè)诘姆种б呀?jīng)是a了蝌蹂,這個(gè)時(shí)候 A 同學(xué)就可以盡情的在他新建的a分支去進(jìn)行代碼改動(dòng)了。
那有人就說(shuō)了曹锨,我要先新建再切換孤个,未免有點(diǎn)麻煩,有沒有一步到位的沛简,聰明:
git checkout -b a:即創(chuàng)建分支a的同時(shí)齐鲤,切換到分支a
27.png
<8> git merge(合并分支)
領(lǐng)導(dǎo)交給你的任務(wù)硅急,你完成了;那么你會(huì)干嗎呢佳遂?很明顯营袜,提交呀!但是我們每個(gè)人的代碼都是在自己的分支下進(jìn)行的丑罪,如何將我們的代碼提交到整個(gè)項(xiàng)目中呢荚板,即主體分支中呢?那就要用到git merge命令了吩屹。分為兩步:
- 切換到master分支:git checkout master
-
將分支a進(jìn)行合并:git merge a28.png
<9> git branch -d(刪除分支)
???????有新建分支跪另,那肯定有刪除分支,假如這個(gè)分支新建錯(cuò)了煤搜,或者a分支的代碼已經(jīng)順利合并到master 分支來(lái)了免绿,那么a分支沒用了,需要?jiǎng)h除擦盾,這個(gè)時(shí)候執(zhí)行 git branch -d a 就可以把a(bǔ)分支刪除了嘲驾。<10> git branch -D(強(qiáng)制刪除)
???????有些時(shí)候可能會(huì)刪除失敗,比如如果a分支的代碼還沒有合并到master迹卢,你執(zhí)行 git branch -d a 是刪除不了的辽故,它會(huì)智能的提示你a分支還有未合并的代碼,但是如果你非要?jiǎng)h除腐碱,那就執(zhí)行 git branch -D a 就可以強(qiáng)制刪除a分支誊垢。
<11> git tag(添加版本標(biāo)簽)
???????我們?cè)诳蛻舳碎_發(fā)的時(shí)候經(jīng)常有版本的概念,比如v1.0症见、v1.1之類的喂走,不同的版本肯定對(duì)應(yīng)不同的代碼,所以我一般要給我們的代碼加上標(biāo)簽谋作,這樣假設(shè)v1.1版本出了一個(gè)新bug芋肠,但是又不曉得v1.0是不是有這個(gè)bug,有了標(biāo)簽就可以順利切換到v1.0的代碼瓷们,重新打個(gè)包測(cè)試了业栅。
git的基本命令操作就是這些了,因?yàn)槿渴窃诒镜貍}(cāng)庫(kù)進(jìn)行的焕檬,比較簡(jiǎn)單姆坚,哈哈!因?yàn)檫@就是我自己的學(xué)習(xí)記錄嘛实愚,我也是個(gè)大白啦兼呵,下一章,會(huì)以GitHub為例腊敲,記錄本地和遠(yuǎn)程的協(xié)作