《GIT團隊協作》讀書筆記
《GIT團隊協作》讀書筆記
1 我學GIT的小故事
2014年我曾經學過GIT,不過沒有弄明白;那次是因為R語言很火,參加了一門Coursera上的MOOC課程。結果很快就因為各種原因沒有堅持下來。
最近因著學習Python、Linux,又拿起GIT的書開始看起來,這次讀的是《GIT團隊協作》。英文名叫Git for teams。 結合著李笑來先生的部落格、Git Pro中文第二版,終於又向前邁出了一點點步伐。
之所以提及自己失敗的經歷,是因為我們大多數人都想學很多東西,但是就有一些東西學了卻沒有學會。原因之一是我們沒有弄清楚要學的東西是什麼,會對我們的生活有哪些幫助。這和我們學習Excel、學習Cad一樣,會用到的東西一般都會學的比較快。
2 GIT是什麼
簡單的說,我覺得GIT是一款版本控制和協作軟體。如果你從事軟體程式碼開發、寫作以及其他以文字檔案為主的團隊協作,都可以將GIT納入你的“兵器庫”。 你可以問自己幾個問題,來看看是否要深入學習下GIT: 你是否經常修改程式碼或者其他文字檔案? 你是否擔心自己的程式碼改來改去,最後卻不知道哪個版本是有效的? 你是否存了好多用日期或版本號為檔名的文件,但最終想要回退到以前的某個版本時,卻要找很久或者根本找不到? 你的團隊是否還在用郵件互傳檔案進行協作?
3 學習GIT的門檻:
第一是不要怕命令列這種輸入形式;
第二是有一些Linux的知識,因為許多介紹文件都是以Linux為例的。
第三是有畫圖的習慣。
第四是有寫文件的習慣。
4 這本書寫了什麼
看書名你也猜的到,這本書寫的是兩塊內容,一部分是GIT,一部分是團隊協作。 關於GIT本身,有很多不錯的書籍,例如GIT PRO,有圖靈負責翻譯的,也有免費版的。 我想重點分享第二部分。《GIT團隊協作》中花了約三分之二的篇幅介紹如何建設團隊、如何選擇工作流。 我個人感覺,作者這樣安排也是有道理的。這就好比一件非常不錯的兵器,有的團隊用的好,有的卻用的不好。其實你把它用“外因加內因”來分析就明白了。團隊協作水平是內因,GIT工具是外因。而外因需要通過內因起作用。
4.1 促進團隊協作的幾個方面
本書的第一章重點介紹了團隊建設方面的內容。你可以直接在圖靈網站本書的頁面免費試讀。
作者精煉的介紹了團隊中各成員的角色:從收集使用者故事開始,講到了測試、部署、運維、開發、架構等方面。
然後作者介紹了三種不同的思維策略:包括創造性思維,理解性思維,決策性思維等。你可以利用書中的特徵來衡量下看自己是屬於哪一類的。然後看看你的團隊成員是哪一類。
瞭解團隊成員的這些不同偏好,你就更容易理解團隊成員,並在開發新功能特性、程式碼評審等環節加強與他們的協作。
最後她還提到了團隊會議的一些注意事項。 如果你是專案經理,裡面有個培養同理心的小節,很值得看看。
這一章節也簡要提到了Git團隊協作的一些術語。
4.2 團隊協作時的訪問許可權模型
書中的第二章作者提到了訪問許可權模型,並用圖畫的形式進行了介紹。
限於版權,僅舉一例給你看一看。這是一幅“適合並列貢獻者倉庫的模型”。少數核心維護者負責維護“官方倉庫”,並列關係的個人貢獻者則通過派生的“個人倉庫”來建立“本地倉庫”,並進行簽出、提交等操作。
4.3 GIT的分支和合並
接下來的這幅圖,取自Git Pro。你可以看看分支的概念。分支就是不同的指標,指向不同的節點。用於隔離不同的開發工作。例如圖中的ISS53就是用來解決53號工單的問題。 關於合併等方面的更多內容,你可以參考本書的第5章。
4.4 團隊使用GIT的工作流
第4章從工作流的角度,對一個開發專案的全流程進行了介紹。我覺得這一節中,最關鍵的是養成編寫文件的習慣。同時及時更新工單狀態。
4.5 幾個概念的突破
check out
好比你從圖書館借書,你check out後,就擁有了對當前書籍的處理權,可以在上面做一做標記等。
branch
隔離不同的工作,根據你團隊對於專案的理解,可以按照很多種方法來使用。本書第3章重點介紹了分支模型。
rebase (這一塊理解的還不是很清楚,還得多看看)
根據對專案協作歷史的不同要求,可以採用不同的合併方式。有人希望儘可能多的保留專案歷史,有人希望儘可能多的保持清晰乾淨的專案歷史。
bisect
二分法來對衝突進行確認。
4.6 資源分享
https://learngitbranching.js.org/ 線上學習git分支
http://www.ituring.com.cn/article/264697 圖靈讀友的分享
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000廖雪峰的教程
http://lixiaolai.com/2016/07/05/makecs-git-basics/ GIT時光穿梭機
相關文章
- 3月讀書筆記《團隊協作的五大障礙》筆記
- 教你學會Git——團隊協作Git
- 6、Git之團隊協作機制Git
- 多人協同開發,git workflow 提高團隊協作能力Git
- 利用Git+GitHub進行團隊協作開發Github
- 讀後有感,專案團隊協作感悟薦
- Git 團隊協同開發Git
- 《Git權威指南》讀書筆記Git筆記
- 如何提升團隊協作效率?
- 如何提高團隊協作力?
- 《Git團隊協作》之Docker快速搭建GitLab私有倉庫DockerGitlab
- 執行緒間協作-《thinking in java》讀書筆記(一)執行緒ThinkingJava筆記
- 讀書筆記:《Version Control With Git》筆記Git
- 一杯茶的時間,上手 Git 團隊協作開發Git
- 線上協作助力團隊合作:解析多種高效工具實現團隊協同
- 協作型CRM助力團隊協同辦公
- 異地創業團隊如何做團隊溝通協作創業團隊
- http協議讀書筆記1-概述HTTP協議筆記
- 團隊協作的五大障礙?用飛項輕鬆解決團隊協作難題
- 如何讓IT團隊和安全團隊之間更好地進行協作
- 如何實施智慧化的團隊協作?
- 團隊工具推薦(基礎協作篇)
- 讀書筆記...筆記
- 讀書筆記筆記
- 高效團隊開發筆記筆記
- 《讀書與做人》讀書筆記筆記
- 遠端IT運維的升級,“團隊協作”運維
- 移動互聯工作室—團隊協作
- 團隊協作中有哪些必不可少的工具?
- 《圖解TCP/IP》讀書筆記四:IP協議圖解TCP筆記協議
- http協議讀書筆記2-連線管理HTTP協議筆記
- 團隊作業
- Cucumber讀書筆記筆記
- 散文讀書筆記筆記
- HTTP 讀書筆記HTTP筆記
- CoreJava讀書筆記-------Java筆記
- flask讀書筆記Flask筆記
- Vue讀書筆記Vue筆記