< >
以使用者為中心建立高效率Git作業程序『聚焦於作業程序以及角色間的互動,這本書能引領讀者了解專案真正的需要,有了這些知識之後,就能夠了解更有趣的部份:以最適符合需求的方式使用Git。』- dr. Johannes ChindelinGit for Windows 維護者Git除了用來建立軟體之外還有其他的用途,這本務實的手冊以獨特方式,從使用者為中心的角度介紹版本控制系統,同時說明以Git為核心對團隊合作的助益。讀者能從中學習到規劃與調整Git作業程序的方式,不僅能夠確保讀者達成專案目標,也能夠符合團隊現在與未來的需要。本書第一部份針對作業程序的建構說明,對於專案經理、技術負責人以及CTO很有幫助,第二部份提供實際操作演練,協助開發人員對Git命令有進一步的認識。‧探索團隊建立的動力學‧逐步說明用Git建構與部署軟體的程序‧建構出能影響團隊合作方式的作業程序‧學會進行程式碼審核的有用程序‧設定共享儲存庫同時識別出貢獻者、使用者與維護者等不同的團隊成員‧了解團隊成員使用特定Git命令背後的原因‧透過分支策略區分專案中不同的執行方式‧探討常見的協同作業平台:GitHub、Bitbucket以及GitLab補充資訊(程式範例、作業等)可以在http://gitforteams.com下載
Emma Jane Hogbin Westby 自1996年起就從事網站開發。最初擔任開發人員,慢慢轉移到專案負責人。她從2002年起開始教授網頁相關技術,在全球各地發表超過100場的研討會演說及課程。
前言過去二十年間,我曾經以單人或多人的團隊從事分散式開發,我第一份有收入的工作是在九零年代中期擔任網頁開發人員,當時是以直接更改檔名的方式維護檔案的版本,工作區裡經常充斥著各種特殊的延伸檔名,v4.old-er.bak都算是常見的了,這種方式很難追蹤進度。在某個特別有挑戰性的專案裡,我沿用在撰寫文件時所使用的印出後編輯的方式:先印出要處理的Perl腳本,用打洞機裝訂成冊,接著用不同顏色的筆標記腳本,最後透過文字編輯器抄錄更動(真希望當時有拍下來),版本的追蹤則是透過翻找活頁簿找出之前的版本。我對設定真正的版本控制系統(version control system,VCS)完全沒有概念,但我很小心的保留正確的成果,以便於在重構失敗時復原。當我開始與其他開發人員合作時,不論是開放原始碼專案或是用戶端的工作,我從來不會是團隊裡的第一個開發人員,我加入時總是已經有設定好了的某種版本控制系統,一般都是CVS(Concurrent Versions System),這套系統用起來並不方便,但比起我之前使用的活頁簿,更適合分散各地的團隊成員使用。我很快的就了解記錄訊息(commit message)的價值,以及能夠輕易的回溯過去的進展所帶來的好處,這讓我更加注意其他人記錄到儲存庫的訊息,我不想讓其他人覺得我很隨便。現在,我在多所社區大學教授網站開發,2004年,我第一次有機會在Humber College教授為期一年的版本控制系統,這是由Bernie Monette設計為期一年的課程。課程將學生分成幾個小組,各個小組必須在第一個學期提出網站的開發計畫;到了第二個學期,學生會重新分組,新的團隊必須依據上學期團隊的規劃建出網站;到了第三與最後一個學期會再次分組,而最後的工作是修正臭蟲並確保建出來的網站品質,每個團隊都必須使用版本控制系統記錄專案的成果。對於沒有任何程式開發經驗的學生們,因為版本控制系統經常會干擾正在進行的工作,因此他們大多有所怨言,但版本控制系統也讓他們更不容易覆寫其他同學的成果,這讓我學到如何讓學生使用一些與實際工作似乎不太有關係的工具。那堂課之後的十年間,我學到許多教授版本控制的方法,以及成人教育的許多最佳實作,本書是我所累積的經驗成果,介紹使用版本控制系統與他人有效率作業的方法,建議各位從本書中找到最適合所在團隊的作法。沒有Git警察會出現在門口,衝著你吼叫「你錯了!」,也就是說,我會儘量解釋「Git式」的做事方法,提供各位作為建立新團隊,或是調整原有團隊作業流程的參考,「通用」的作業方式能夠協助先前使用過類似技術的新人,更快的上手。本書並不適合所有人閱讀,比較適合事先規劃路徑,再依規劃前進的人。我希望本書能夠填滿現有Git資源與實際使用之間的空白,本書比起軟體的使用手冊更像是本團隊合作的手冊。要是各位的團隊(不論是一人或多人團隊)發現本書有不清楚的地方,希望能讓我知道(emma@gitforteams.com),要是你認為這本書對你有所幫助,也希望你能讓其他人知道。
第一部分 定義作業程序第一章 團隊作業第二章 命令與控制第三章 分支策略第四章 有效的作業程序第二部分 依據作業程序使用命令第五章 單人團隊第六章 回轉、還原、重設以及重設基線第七章 多人團隊第八章 接受審核第九章 尋找與修正臭蟲第三部分 Git 代管系統第十章 GitHub 上的開放原始碼專案第十一章 Bitbucket 上的私人團隊作業第十二章 自行代管GitLab附錄A 奶油塔附錄B 安裝最新版Git附錄C 設定Git附錄D SSH 金鑰
使用者故事對照|User Story Mapping Agile 學習手冊 | Scrum、XP、精實和看板方法 成為卓越程式設計師的38項必修法則
購買紙本書