寫給Git初學者的7個建議

發表於2013-10-31

  當我剛剛開始使用Git的版本控制時,我根本不確定我付出那麼多時間是不是會得到回報。Branch、Stage、Stash,這些Git名詞對我來說都非常陌生。

  而今天的我已不能想象生活沒有Git會變成什麼樣。Git不僅提供了我非常需要的版本控制功能,還讓我變成一個更優秀的程式設計師。

  這裡有一系列可以幫助你的小貼士,可以讓Git成為你開發工作中非常重要的一部分。

 第一條:花時間去學習Git的基本操作

  學習Git的基本操作並不是要求你把整個Git文件從頭到尾讀完(但如果這就是你的方式,我也不會反對)。

  Git裡面有太多的教育內容,我很確定裡面一定有對你胃口的最佳學習方式。

gitimage0

  看一下以下這些Git學習資源吧:

 第二條:從簡單的Git工作流開始

  少即是多。

  常常的,Git會和一個複雜的工作流聯絡起來。不過我可以這麼說:你還暫時不需要為了Git的諸多好處,而一下子變成Git大師。

  Git的工作流是可以非常簡單的 —- 而且在許多情況下你需要的就是這麼簡單。你當然可以用multiple remote repositories、issue pull request、rebase changes等等,但是你不想用這些的話完全可以不用。

  從簡單的工作流入手也會使日後新增複雜性或者使用Git高階功能變得簡單。當你需要使用這些功能的時候,Git已經準備好了。

  這裡有一些不同的Git工作流的例子,你可以從他們的想法中得到啟發

  總的來說:不要因為覺得Git什麼都要學就壓力很大,你完全可以從今天開始使用Git。

 第三條:不要再害怕犯錯誤

  Git最出色的一點是:它幾乎是100%易上手誤操作的。

  記住以下幾點會讓你晚上睡得更香:

  1. Git基本上不刪除資料。即使是那些看起來是刪除資料的操作,實際上是為了讓你更快的撤銷刪除,而在向系統新增資料。
  2. Git基本可以撤銷所有操作。我鼓勵你更多的實驗和探索你的想法,因為這就是使用版本控制系統系統的最主要的好處之一。
  3. 你團隊的每一個成員都在他/她的計算機中有各自的副本。本質上這更像是整個版本控制專案中的冗餘備份(包括包括整個歷史紀錄),你捅了大婁子而且還沒辦法還原這種情況是極其少見的。

 第四條:理解分支概念

  在Git裡面,分支這個概念是你一開始能學到的最有用的東西了。分支允許你隔離開發你的專案,而要想成為一個高效的Git使用者,這是非常關鍵的一點。

  一開始這聽起來好像不是什麼大事,但一旦你完全的理解了分支概念,你會開始想沒有這個你怎麼活下去。

  儘管其他的版本控制系統也會使用分支概念,Git是第一個實現它,並讓它變的好用的系統。

Gitimage01

  這裡有一些有助你瞭解Git分支概念的資源:

 第五條:學習暫存區

  當你的提交裡面只包含一些相關的變化時,版本控制會變的非常有用[b],它保證了你的提交可以被沒有任何副作用的回滾,經常提交的習慣也可以讓你的同事更好的瞭解你的進度。

  Git有個功能叫暫存區讓這一切都變為可能

  學習使用暫存區,並愛上它,因為這是Git裡面最重要最獨立的一個模組。

  1. 為什麼暫存區那麼有用
  2. 用暫存區的好處在哪 —- 一個有關Git暫存區的討論主題
  3. 啊哈!學習Git的那些時候 —- 一篇部落格文章
  4. Git上有關暫存區的簡短教程

 第六條:用Git圖形介面

  儘管使用圖形介面絕對不會是一個要求,但我還是高度推薦使用。

  使用圖形介面讓大多數操作都變得簡單,讓你在專案開始時便佔盡優勢。

  不管怎麼說,使用Git不應該只是記住各種命令和引數,而是改進你的程式設計工作流。如果圖形介面可以做到這一點的話,沒有理由讓簡單的事變的困難嘛。

Gitimage02

  看一下這些Git介面吧:

  • Tortoise Git - Windows平臺下的開源Git圖形介面
  • GitX(L) - Mac OS X下的開源Git客戶端
  • SourceTree - Windows和Mac下的免費Git或Mecurial介面
  • git-cola - 一款開源Git介面
  • Tower - 我們公司為Mac使用者所出的Git介面

 使用圖形介面並不能減輕你學習Git基礎的負擔,不過一旦你快樂的征服了Git,使用這些工具會讓你的生活變得更輕鬆。

  第七條:對自己承諾你會用Git

  使用一個新工具一開始會讓人非常頭疼,走過這條學習曲線的方法只有一個:繼續走下去。

  做一個充分的承諾,不要回頭。在你平常的工作流裡引入Git很快就會被證明這是你近期做的最大的,最有意義的決定。

  避免這種情況:「我會在這個專案裡使用Git,但其他專案就再說了。」至少一開始不要這樣。

  充分承諾的這種心態會讓你有更多的機會去練習,讓事情變得更加簡單,因為你知道你現在這個專案用了版本控制系統。而更重要的是,讓Git成為你的程式設計習慣。

  未來不久,你就會看到只有那麼一些情況不需要用到Git,

  對自己做一個100%的承諾,作為Git征服之路的開始。

  原文連結: sixrevisions   翻譯: 伯樂線上 - 吳鵬煜

相關文章