這個項目在Github上火了,還不會用Git的程序員,這下賺到了
2005 年,Linus在非常短的時間內(nèi)把Git開發(fā)出來了。Git是一個 “分布式版本管理工具”,堪稱版本控制瑞士軍刀。這個可靠、多才多藝、用途多樣的校訂工具異常靈活,以致不易掌握,更別說精通了。
但是話又說回來,一個精通Git的程序員,會幫你在履歷上加不少分,而且對你日常的工作效率也會有很大的幫助。如果你還沒開始學Git,不妨先把Git的內(nèi)部機理放在一旁,先學習Git的使用。
今天和大家推薦一本很熱門的Git手冊——Git Magic。這本書是由畢業(yè)于斯坦福大學CS專業(yè)的Ben Lynn撰寫,在這本書是是書里他會對Git的功能特性進行介紹,在反復(fù)應(yīng)用之后,慢慢地你會理解每個小技巧如何工作,以及如何組合這些技巧以滿足你的需求。
這本書已經(jīng)被翻譯成中文、法文、德文、葡萄牙文、俄文、西班牙、越南文等多個語言版本。除此之外,你可以選擇多種閱讀方式,在線閱讀或者是下載PDF文件,Debian包、Ubuntu包等,還有在亞馬遜售價9.95美元的實體書。
這本書一共分為10章,從入門到基本技巧介紹,再到代碼庫克隆、多人協(xié)作Git以及更高端的Git功能等:
下面我們一起來看看【基本技巧】這一章,作者是如何和我們介紹的:
保存狀態(tài)
在做之前,先為當前目錄所有文件做個快照,使用:
- $ git init
- $ git add .
- $ git commit -m "My first backup"
現(xiàn)在如果你的編輯亂了套,恢復(fù)之前的版本可以使用:
- $ git reset --hard
再次保存狀態(tài):
- $ git commit -a -m "Another backup"
添加、刪除、重命名
以上命令將只跟蹤你第一次運行 git add 命令時就已經(jīng)存在的文件。如果要添加新文 件或子目錄,你需要告訴Git:
- $ git add readme.txt Documentation
類似,如果你想讓Git忘記某些文件:
- $ git rm kludge.h obsolete.c
- $ git rm -r incriminating/evidence/
這些文件如果還沒被從系統(tǒng)中刪除,Git將會刪除它們。
重命名文件同刪除舊文件,并同時添加新文件一樣。也有一個快捷方式 git mv ,和 mv 命令的用法一樣。例如:
- $ git mv bug.c feature.c
如果你之前從來沒有學過Git,看了上面這些內(nèi)容,是不是會對掌握Git有信心多了。除了這些基本內(nèi)容之外,作者還會在每個章節(jié)末尾留下練習題,幫助你鞏固本章所學:
雖然我們都知道Git很強大,但再完美的產(chǎn)品都難免有缺點,關(guān)于Git的缺點,作者在附錄也和讀者們討論了,比如SHA1的弱點,Git在Windows上繁瑣的操作,創(chuàng)建一個克隆會比其他版本系統(tǒng)開銷更大......??梢哉f,作者考慮的還是相當全面的。
目前,這本書已經(jīng)在Github上標星1.5K,累計分支 641 個,如果你對Git感興趣,千萬不要錯過這本書(Github地址:https://github.com/blynn/gitmagic)
最后附上《Git Magic》中文版翻譯地址:https://github.com/blynn/gitmagic