git學習小總結

MrXu_發表於2018-07-15

不出意外,每週更新時間為週日

1.git雖難,學好回報也大

這個周我花了很多時間對git進行了掃盲,從原來只會git add , git commit -m "", git push, git pull到建立分支,標籤,自定義命令,版本穿梭,解決衝突,更優雅使用github得到了全面的提升。

我本人是SVN出身,從來都沒有想過版本管理工具還需要花一段時間來學習。因為從一開始使用SVN時我的前輩就說了那麼幾個操作,掌握了就OK了。使用git完全是因為強大的github。上面那麼多開源專案,除了他我還真不知道去哪裡找一些不錯的專案來學習一下。而促使我對git提高的原因是因為我有一次做了一個功能,使用的方法1行不通作廢了,我就把它給刪了。嘗試方法2的時候裡面有一部分跟方法1是共通的,那一部分恰好還是從網上看的別人的原始碼,導致我這一部分程式碼找了大半天一直沒找到。我想如果能夠把我的程式碼管理起來該有多好,就是這件事情促使了我進行深入的瞭解起來了git。至於為什麼使用git而不會用我一直沿用的SVN大概有以下理由:

1.程式碼管理記錄

SVN的程式碼管理記錄都集中在伺服器上,所以我用SVN沒建立一個專案都必須在伺服器上配一下,而目前免費支援SVN有比較靠譜的是碼雲,當然碼雲也支援git。但是很顯然我不可能每一個專案都放到伺服器上啊,那太麻煩了。而且存在人家伺服器掛了,我一點辦法都沒有的尷尬境地,很不放心,所以本地有一套才是比較靠譜的,而git支援這一點。

2.版本切換,建立分支

版本切換,建立分支是平常用的非常多的功能。我以為SVN沒有這功能呢,在我這次的瞭解中我才知道SVN是有的,但是非常不好用,因為太慢了。做同樣的事情git只需要1秒。像切換分支這種事情本就是靈感突發,急於驗證的,讓我一直等下去,不好意思,我學git。

上面倆條是切身體會到的git的強大,git優於SVN的地方也不止這倆點。當然也有SVN要比git好的地方,比如許可權控制。想看到更多git跟SVN的比較可以參考下面這篇文章,作者列舉的很詳細,很清晰: www.cnblogs.com/dazhidachen…

git和github小技巧

既然學了那麼久,肯定發現了一下比較有趣並且試用的東西。希望下面的能夠帶給你更多的git使用思路

1.配置別名

git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
複製程式碼

上面這句話實現的效果:

設定別名圖片
效果是不是很炫酷,不僅能夠看輕分支的變化,還給不同的資訊新增了不同的顏色。但是每次輸入這麼麻煩的命令你還願意要這麼好看的效果麼。現在我教你一個只需要輸入5個字母就可以列印這麼好看效果的方法:

// 第一步:設定全域性別名lg
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
// 第二步:輸入設定別名的命令
git lg
複製程式碼

2.建立標籤

設定了別名能夠讓提交資訊變得簡單易讀了,但是在某些情況下並不怎麼好用。就比如你的程式碼有好幾個版本,你每次只想直觀的檢視每個版本的資訊,不想中間摻雜著無用的資訊,想那些hash碼,也太醜了。這個時候建立標籤的命令就是非常適合你的

設定tag的圖片
掌握這種效果學習成本也就3分鐘的事情,只需要你掌握下面幾個命令語句:

// 1. 建立標籤,預設是打在最後一次提交的內容上的
git tag <tagname> (<tagname> 代表你要輸入的標籤名字)
// 2.既然建立了,就需要檢視
git tag
// 3.有的時候太忙了,忘記了打標籤.沒事找到那個版本打上就行
git tag num (num 代表提交時的hash值)
// 好多標籤,其中有不需要的。我要刪除掉你
git tag -d <tagname> (<tagname> 代表你要輸入的標籤名字)
// 孤零零的標籤,也不知道是幹嘛的。讓我來新增一些描述資訊
git tag -a v0.1 -m "version 0.1 released"    (-a 後面指定標籤名 -m 後面指定說明文字)
複製程式碼

你知道了git的標籤我感覺你也有必要了解一下github的標籤

github的標籤
有沒有感覺以後再也不愁克隆別人指定版本的程式碼了。

我對git的掌握並不只上面這麼點,我倆三天前寫過一篇關於git的文章,不過感覺寫出來的效果並不是特別理想。可能是精髓領悟不到位的原因。後期可能會重新編輯一下,想持續追可以點個心,在手機掘金上會對更新的內容推訊息 juejin.im/post/5b4818…

3.學習資源 能夠在短時間內提高git水平,沒有好的學習資源是不可能的。

1.廖雪峰的git教程: www.liaoxuefeng.com/wiki/001373…

2.官方的git中文文件: git-scm.com/book/zh/v2

學習git確實挺麻煩的,需要2-3天的時間以及大量的實踐。但是個人感覺學會了對你的回報真的很大。像現在新型的企業都會首選git作為版本管理工具,面試官都會問這個,學習git能夠提高你的入職機率,在一個git的原生程式碼管理能夠給你提供很多的便捷之處。

2.完善了第一個開源專案

我前些日子使用原生JS寫了一個外掛。關於外掛這種一圖勝千言:

Mobile-Tree-Area圖片

從圖中你可以看出來他是一個簡單的手機版地圖選擇控制元件,但是我對他做了一些擴充套件。不僅僅侷限於三級選擇,還支援N級多選和可自動控制幾級選擇。

這個控制元件沒有依賴任何的庫,純原生JS,如果你是非模組話的專案,只需要引入JS和CSS就可以使用。

如果你是模組化專案,可以通過 npm i mobile-tree-area,即可安裝.

github下載地址: github.com/mrxu0/Mobil…

3.未來世界的倖存者

這是一本阮一峰剛剛出版的圖書,可以免費閱讀。

  • (1)技術的快速發展,使得大部分勞動者都沒用了。
  • (2)大部分人必定只能找到低端工作,工資僅夠溫飽。
  • (3)貧富分化將越來越嚴重,而且會世襲,窮人毫無翻身的可能。

書裡面對上面的三個問題進行了解釋,並不只是泛泛而談。裡面還有一個關於讀大學的見解也比較精闢:

當代的大學起源於歐洲修道院的模式。學生要經過多年的苦修,經過考核,才能畢業。如果想成為高階僧侶,就必須再多熬幾年。另外,還有導師作為監督人,防止你學到歪門邪說。

這種模式的兩大弊端,演變到今天,已經越來越嚴重了:一個是傳授的知識老化,另一個是極其浪費學生的時間。

有時間推薦你去看看,擴充套件一下未來失業,免費圖書資源連結: www.ruanyifeng.com/survivor/co…

4.對前端的一些思考

前端的各種API就好比是普通的工具一樣,大部分工具你不一定會用,或者是用過,所以你知道這些工具的用途就行了。我們需要為自己準備一個工具箱,放進去需要的工具。裡面肯定有一些複雜還不常用的工具,但是確實很有用的工具,這種你需要特地給他配上說明書方便下次使用。而我現在就在整理我的工具箱,讓他更加順手。

往期回顧:

深入前端學習原來這麼有趣 第2期

深入前端學習原來這麼有趣 第1期

想要第一時間看的我的文章可以關注我的公眾號”吵吵日記”,或者是掃描下方二維碼

git學習小總結