Git入門(mén)-本地倉(cāng)庫(kù)

使用github要先學(xué)會(huì)git沃琅。 git無(wú)需安裝,有cmder/gitbash即可斟览,comder內(nèi)置了gitbash轴猎。查看版本號(hào) git --version

git與gitbash的關(guān)系,傻傻分不清纱注?

git 就是一個(gè)命令而已畏浆,bash就是包含命令的黑框框(iterm2)。這個(gè)黑框框(bash命令行)可以運(yùn)行很多命令其中就包括git狞贱,我們?cè)趃itbash里面運(yùn)行g(shù)it刻获。gitbash相當(dāng)于Mac的iterm2!

一. 配置

所有軟件都是要先配置的瞎嬉,git的配置如下:

終端iterm2運(yùn)行這6行代碼:(出錯(cuò)可以重新再運(yùn)行蝎毡,運(yùn)行完這6行才能開(kāi)始用git)

git config --global user.name 你的英文名 
git config --global user.email 你的郵箱     //最常用的郵箱
git config --global push.default simple
git config --global core.quotepath false
git config --global core.editor "code --wait"     //code是vscode的縮寫(xiě)
git config --global core.autocrlf input

備注:英文名/郵箱跟GitHub無(wú)關(guān),可以跟GitHub的用戶名和郵箱保持一致。

測(cè)試查看是否配置成功:

    git config —-global —-list

二.git init & git add & git commit

其它:
1.git解決了什么問(wèn)題,為什么要git氧枣?
版本控制,git可以讓你的代碼有版本可以隨時(shí)退到某個(gè)版本沐兵。
2.用vscode打開(kāi)當(dāng)前目錄 code .
3. 打印當(dāng)前目錄,不包括.開(kāi)頭的* ls*
4. 查看當(dāng)前目錄結(jié)構(gòu)包含.git ls -a

  1. git init //初始化便监,創(chuàng)建.git目錄放置代碼快照(版本)
  2. 快照實(shí)現(xiàn)存儲(chǔ)版本怎么做扎谎?git add
    git add + 路徑
    解析:選擇要提交的文件碳想,路徑可以是 .和* /絕對(duì)路徑/相對(duì)路徑
  3. .gitignore 處理不需要提交的文件
    例子:git add會(huì)把當(dāng)前所有文件打包,但有的文件不想提交怎么辦毁靶?
    image.png

答:如上圖所示胧奔,新建.gitignore 文件,添加不想提交的文件预吆,這樣打包時(shí)就不會(huì)把不需要的文件提交了龙填。

4.git add后查看當(dāng)前文件提交的狀態(tài) git status

5.git commit提交的2種方式:
git commit -m “字符串(版本號(hào))”
注釋:提交并說(shuō)明理由,注意字符串里如果有空格就要用引號(hào)包起來(lái),沒(méi)有空格引號(hào)可省略
git commit -v 更正式拐叉,關(guān)閉窗口自動(dòng)保存岩遗,如下圖所示:

image.png

6.查看當(dāng)前所有已提交的版本 git log

7.多次提交只需要重復(fù)git add .git commit -v

三.如何實(shí)現(xiàn)多版本切換?

git reset —-hard xxxxxx //版本號(hào)前6位
注意:該操作會(huì)使沒(méi)有commit過(guò)的變動(dòng)消失凤瘦,確保要先commit 宿礁!

步驟:
1.查看當(dāng)前所有版本 git log

image

2.選擇要查看的版本號(hào)的前6位并復(fù)制(前4位也行但不能重復(fù))
例子:git reset --hard d9711a //選擇查看版本1

3.返回 git reflog
現(xiàn)在git log后也只能查看剛剛復(fù)制的這個(gè)版本了,那別的版本怎么找呢蔬芥?
git reflog 解析:不僅要看當(dāng)前的歷史窘拯,還要看御劍飛行的記錄

image.png

4.飛完了,我現(xiàn)在想回去走訪怎么辦坝茎?
復(fù)制想要回訪的版本號(hào)的前6位,esc q鍵出去暇番,
然后git reset --hard ac8c36b回到版本2

5.來(lái)回切換
git reflog +復(fù)制版本號(hào)+esc q鍵出去+git reset --hard xxxxxx

結(jié)束嗤放!

總結(jié):
1.git add選擇提交內(nèi)容
2..gitignore 文件描述不提交的內(nèi)容
3.git commit -v用來(lái)提交
4.git log 用來(lái)查看歷史
5.git reset --hard xxxxxx 用來(lái)切換版本
6.git reflog用來(lái)查看所有歷史

四.如何同時(shí)兩條線開(kāi)發(fā)?

git branch x 可以創(chuàng)造平行時(shí)間線x,術(shù)語(yǔ)叫分支

image.png

過(guò)程如下
1.回到版本1創(chuàng)建分支x
代碼:

git log   
git reset --hard xxxxxx //切換版本 退出esc q 
git branch x

2.開(kāi)始老板的需求并提交

git add index.html   
git commit -m v1

3.回到老板娘分支

git checkout x //注意此時(shí)會(huì)回到最初的設(shè)計(jì)頁(yè)面

開(kāi)始老板娘的需求并提交

git add index.html    
git commit -m v2

4.再次切回老板的需求

git checkout master

完成老板的需求后再次提交

git add .    
git commit -m v11

7.再切到老板娘需求

git checkout x

繼續(xù)設(shè)計(jì)并提交

git add .    
git commit -m v22
history  //可查看歷史操作

結(jié)束壁酬!

總結(jié):
1.老板分支為master次酌,老板娘分支為x
2.git branch 基于當(dāng)前commit 創(chuàng)建一個(gè)新的時(shí)間線(分支)
git branch x //創(chuàng)建分支x
3.git checkout //用于切換分支x/master

如何查看當(dāng)前所在分支?

代碼:git branch // *表示當(dāng)前所在的分支

image.png

如上圖所示舆乔,當(dāng)前所在分支為x

合并分支

2個(gè)分支如何合并岳服?用git merge將另一個(gè)分支合并到當(dāng)前分支

  git checked master //保留主分支
  git merge x

五.關(guān)于沖突 CONFLICT

當(dāng)前目錄有未提交的代碼,只要跟另一個(gè)分支不沖突就無(wú)須理會(huì)希俩。
如果沖突了呢吊宋?及時(shí)commit或使git stash合并沖突

發(fā)現(xiàn)沖突
在合并分支的時(shí)候會(huì)得到conflict提示,使用git status -sb查看哪個(gè)/哪些文件沖突了

git status 或者 git status -sb

解決沖突
解決沖突后

git add .  
git status   //查看是否還有沖突颜武,有g(shù)it status -sb 沒(méi)有就git commit   
git commit   //自動(dòng)填充理由璃搜,關(guān)掉小窗口   
git log      //檢測(cè)當(dāng)前所有版本是否合并成功

合并完后刪除無(wú)用的分支

image.png
git branch       //查看分支     
git branch -d x     
git branch       //再查看分支,此時(shí)只有一個(gè)master了

結(jié)束鳞上!

總結(jié)
1.分支可以合并
進(jìn)入要保留的分支这吻,運(yùn)行g(shù)it merge x, 合并完后刪除無(wú)用的分支git branch -d x
2.本地倉(cāng)庫(kù)就是 git init 創(chuàng)建的那個(gè) .git 目錄
3.git branch x 的作用是什么?
會(huì)基于本地倉(cāng)庫(kù)里最新一次 commit(提交)篙议,創(chuàng)建一個(gè)新的分支 x
4.git checkout x 的作用是什么唾糯?
會(huì)讓當(dāng)前目錄的內(nèi)容變成本地倉(cāng)庫(kù)里 x 分支的最新內(nèi)容(可能會(huì)刪除當(dāng)前目錄里的一些文件)

六.總結(jié)

今天學(xué)到的命令

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子移怯,更是在濱河造成了極大的恐慌香璃,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芋酌,死亡現(xiàn)場(chǎng)離奇詭異增显,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)脐帝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)同云,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人堵腹,你說(shuō)我怎么就攤上這事炸站。” “怎么了疚顷?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵旱易,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我腿堤,道長(zhǎng)阀坏,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任笆檀,我火速辦了婚禮忌堂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘酗洒。我一直安慰自己士修,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布樱衷。 她就那樣靜靜地躺著棋嘲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪矩桂。 梳的紋絲不亂的頭發(fā)上沸移,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音耍鬓,去河邊找鬼阔籽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛牲蜀,可吹牛的內(nèi)容都是我干的笆制。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼涣达,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼在辆!你這毒婦竟也來(lái)了证薇?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤匆篓,失蹤者是張志新(化名)和其女友劉穎浑度,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鸦概,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡箩张,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了窗市。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片先慷。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖咨察,靈堂內(nèi)的尸體忽然破棺而出论熙,到底是詐尸還是另有隱情,我是刑警寧澤摄狱,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布脓诡,位于F島的核電站,受9級(jí)特大地震影響媒役,放射性物質(zhì)發(fā)生泄漏祝谚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一酣衷、第九天 我趴在偏房一處隱蔽的房頂上張望踊跟。 院中可真熱鬧,春花似錦鸥诽、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至袭异,卻和暖如春钠龙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背御铃。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工碴里, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人上真。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓咬腋,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親睡互。 傳聞我的和親對(duì)象是個(gè)殘疾皇子根竿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容