以前覺得git骇窍、github好難瓜晤,所以就沒有什么動(dòng)力去學(xué),最近想要開始找工作像鸡,想增加點(diǎn)面試bb的籌碼活鹰。看了一些git的教程只估,感覺其實(shí)git也就那么回事志群,也不難的樣子。為了防止自己忘記蛔钙,特地mark一下锌云。。吁脱。
一桑涎、創(chuàng)建版本庫
創(chuàng)建倉庫,并向倉庫中添加test.txt文件
相關(guān)步驟如下流程圖:
二兼贡、提交修改
第一次修改test.txt文件
相關(guān)步驟如下流程圖:
三攻冷、版本回退
第二次修改test.txt文件
相關(guān)步驟如下流程圖:
四、工作區(qū)/版本庫/暫存區(qū)
工作區(qū):就是你在電腦里能看到的目錄
版本庫:工作區(qū)有一個(gè)隱藏目錄.git遍希,這個(gè)不算工作區(qū)等曼,而是Git的版本庫
暫存區(qū):Git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有Git為我們自動(dòng)創(chuàng)建的第一個(gè)分支master禁谦,以及指向master的一個(gè)指針叫HEAD
五胁黑、撤銷修改
情況一:修改了文件,還沒有g(shù)it add 和git commit
解決方法:git checkout -- readme.txt
這條命令的意思就是州泊,把readme.txt文件在工作區(qū)的修改全部撤銷
無論是文件修改后值存在于工作區(qū)還沒有放到暫存區(qū)丧蘸,還是已經(jīng)添加到暫存區(qū),總之這個(gè)命令就是讓這個(gè)文件回到最近一次git commit或git add時(shí)的狀態(tài)遥皂。
情況二:修改了readme.txt文件力喷,而且執(zhí)行了git add
情況三:提交到了版本庫
解決方法:將版本進(jìn)行回退
六、刪除文件
一般情況下渴肉,你通常會(huì)在文件管理器中把沒用的文件刪除冗懦,或者直接rm test.txt
git status 這個(gè)時(shí)候,Git知道你刪除了文件仇祭,因此,工作區(qū)和版本庫就不一致了颈畸,git status命令會(huì)立刻告訴你哪些文件被刪除了
關(guān)于刪除有2種情況:
一是確實(shí)從版本庫中刪除該文件乌奇,那就git rm test.txt,然后git commit 文件就從版本庫中刪除了
另一種情況是刪除錯(cuò)了眯娱,因?yàn)榘姹編炖镞€有礁苗,所以可以輕松地將誤刪除的文件恢復(fù)到最新版本git checkout -- test.txt git checkout其實(shí)使用版本庫中的版本替換工作區(qū)的版本,無論工作區(qū)是修改還是刪除徙缴,都可以“一鍵還原”
七试伙、添加遠(yuǎn)程庫
八、從遠(yuǎn)程庫克隆
我的github上面有一個(gè)遠(yuǎn)程庫于样,但是本地沒有疏叨,需要克隆到本地
git clone git@github.com:michaelliao/gitskills.git 克隆一個(gè)本地庫
九、創(chuàng)建和合并分支
每次提交穿剖,Git都把它們串成一條時(shí)間線蚤蔓,這條時(shí)間線就是一個(gè)分支,在Git里糊余,這個(gè)分支叫主分支秀又,即master分支。HEAD嚴(yán)格來說不是指向提交贬芥,而是指向master吐辙,master才是指向提交的,所以蘸劈,HEAD指向的就是當(dāng)前分支昏苏。