Git是一套版本管理系統(tǒng)。看到“Git版本管理”,一大部分盆友已經(jīng)轉(zhuǎn)身想走,在你握著門(mén)把手準(zhǔn)備開(kāi)門(mén)走人時(shí),請(qǐng)最后聽(tīng)我說(shuō)完最后一句:人人都需要版本管理,git可以幫你少交停電/藍(lán)屏/死機(jī)稅,提高產(chǎn)出效率,不來(lái)一發(fā)嗎? 試過(guò)半夜寫(xiě)匯報(bào)ppt嗎?'匯報(bào)ppt'→'匯報(bào)ppt1'→'匯報(bào)ppt11'→'匯報(bào)ppt2015-03-17'→'匯報(bào)ppt2015-03-17新'→'匯報(bào)ppt2015-03-17新1'……無(wú)休止的命名斗爭(zhēng),這就是自然而然的版本管理,只不過(guò),沒(méi)有好的工具,所以顯得一團(tuán)mess。 無(wú)論學(xué)生黨還是設(shè)計(jì)師(改20個(gè)版本后終于順利用回第1版),無(wú)論公眾號(hào)運(yùn)營(yíng)還是音樂(lè)人,都持續(xù)產(chǎn)出著自己的“半成品/作品”。99.99%的作品都不可能一氣呵成,比如這篇筆記的第一個(gè)commit版本,簡(jiǎn)直慘不忍睹。如果有版本管理意識(shí),以及高效、方便的工具,生活也許可以簡(jiǎn)單許多,更不要說(shuō)天有不測(cè)風(fēng)云的停電忘保存、腦殘刪備份等等好事等著我們。 來(lái)吧,fork有用有趣的東西,git你應(yīng)該在意的東西,日拱一卒,打造我們的作品。 二、Git主要概念Git實(shí)現(xiàn)在本地和遠(yuǎn)端進(jìn)行版本管理。 1.工作空間四個(gè)空間概念:工作目錄(workspace),暫存區(qū)(index),本地倉(cāng)庫(kù)(local repository),遠(yuǎn)程倉(cāng)庫(kù)(remote repository) 想象一下,我們開(kāi)一個(gè)包子店(圖片做的不是同一款包子,見(jiàn)諒)~
配合下面這張圖,我們對(duì)Git就有一個(gè)基本概念了。 Git系統(tǒng)的實(shí)質(zhì)更像是一棵大樹(shù),樹(shù)干(就是Head啦)是最后一次提交的成果。在樹(shù)干上,你可以開(kāi)無(wú)數(shù)的分支(就是branch啦)胡弄,弄亂了也不怕,大不了剪掉再開(kāi)一個(gè),樹(shù)干不受任何影響。折騰ok的分支,最后可以merge到默認(rèn)branch也就是master上。 用技術(shù)性語(yǔ)言描述,分支用來(lái)將特性開(kāi)發(fā)絕緣開(kāi)來(lái)。在創(chuàng)建倉(cāng)庫(kù)的時(shí)候,master 是“默認(rèn)的”分支。在其他分支上進(jìn)行開(kāi)發(fā),完成后再將它們合并到主分支上。 那origin又是什么?origin是遠(yuǎn)程默認(rèn)的倉(cāng)庫(kù)。clone完成之后,Git會(huì)自動(dòng)將遠(yuǎn)程倉(cāng)庫(kù)命名為origin。 那Head和master又是什么關(guān)系?Head其實(shí)只是個(gè)指針,指向當(dāng)前最近c(diǎn)ommit的branch。而master是本地默認(rèn)的branch,所以Head經(jīng)常都是指向master。另外Head是官方定義的,而master和origin都是大家常用的命名,并不一定要叫master和origin。[2] 3.工作流:add & commit & push
Git的好處之一是,包子包好后,還可以回退…… 捷徑: 1.工作目錄 2.本地倉(cāng)庫(kù) 3.遠(yuǎn)程倉(cāng)庫(kù) 四、常用命令最常用: git command --help 需要進(jìn)入目標(biāo)目錄進(jìn)行操作
2.查詢(xún)
Staging Area:commit前把文件們收集到一起,以便打包c(diǎn)ommit。 3.add/添加
4.commit/提交 'commit' 可以理解為一次快照,幫助我們把所有改動(dòng)以timeline的方式組織起來(lái)。
5.push/推送 將文件推送到遠(yuǎn)程倉(cāng)庫(kù)中:git push -u origin master。遠(yuǎn)程倉(cāng)庫(kù)默認(rèn)叫origin 。-u 告訴Git記住參數(shù),下次可以直接使用push。 6.pull/拉取 更新本地倉(cāng)庫(kù)至最新改動(dòng):git pull origin master 7.checkout/切換 checkout命令用于從歷史提交(或者暫存區(qū)域)中拷貝文件到工作目錄,也可用于切換分支
8.diff/比對(duì) git diff 9.reset/撤銷(xiāo)
10.merge 合并其他分支到當(dāng)前分支:git merge 11.remove & clean
Ref
HackYourself 關(guān)注普通人的心智升級(jí),用知識(shí)的力量、用微小但持續(xù)有效的行動(dòng),每天做自我迭代升級(jí)。 |
|
來(lái)自: taotao_2016 > 《it》