Git 企业开发者教程
為什么要寫這樣一個面向企業開發者的Git教程?這個問題也困擾我自己很久。其實我使用git的時間也不短了,但是就和正在閱讀本文的每一位一樣,常用的基本就是那么幾個(git clone, git push)等等。然而git其實有著非常強大的功能,如果不能系統的掌握使用這些功能的技能,我們很容易在一些場景下不知所措,比如以下這些:
– 拉取了共享分支后出現了沖突,怎么合并?
– 到底該不該使用分支?
– 修改了分支上的代碼,但是需要臨時切換到另外一個分支上工作,可是當前的代碼還不能提交,怎么辦?
– 團隊開始使用拉取請求(Pull Request)了?這是個什么鬼?
– 改了代碼,直接運行git commit為啥就不工作呢?
– 怎么樣才能把遠程分支下載到本地開始工作?
– 變基(rebase)和合并(merge)到底有什么區別?
– 我需要別人分支上的幾個改動,怎么才能只獲取這幾個改動而不合并所有代碼?
– 如何比較文件,分支?如何回退代碼?
– 我們的代碼庫很大,如何才能正確切換到Git?
– Git如何能夠幫助我們更安全,高效的發布?
在互聯網上其實有很多的Git教程,但是太過零散,不成體系,特別是沒有考慮到企業開發者所面臨的許多具體而實際的問題。我希望通過這套教程,解決企業開發者在使用Git過程中所遇到的諸多疑問,讓更多的團隊能夠享受到Git所帶來的良好開發體驗,讓大家能夠真正在大規模復雜項目中將Git的優勢發揮出來。我會將我們在給各種企業進行研發管理咨詢中所積累的經驗以及我們的解決方案融入到這套教程中,相信其中的很多場景一定會對你有所幫助。
這個教程會分成4個部分
1. 基礎篇:我們一起了解Git的歷史,分布式版本控制系統的特點和優勢,決定是否git真的適合你。我們也將完成一些初始化的工作,比如:安裝和配置Git工具,介紹幾個我常用的Git工具,對你的本地Git環境進行初始化操作。最后我們將完成一些常見的Git操作,讓你可以開始在日常工作中開始使用Git。如果你還在糾結以上那些問題,不要擔心,你必須勇敢的邁出這一步,因為Git已經是全球開發人員公認的最好的版本控制工具,相信你遇到的問題他人都已經遇到過,也一定都有解決的辦法。
為什么要使用版本控制系統
Git 分布式版本控制系統的優勢
Git 安裝和設置
初始化Git存儲庫(Repo)
起步 1 – 創建分支和保存代碼
起步 2 – 了解Git歷史記錄
起步 3 – 拉取請求 Pull Request 工作機制
2. 進階篇:我們一起了解Git最常用的一系列功能,讓你可以開始更加得心應手的完成越加復雜的開發工作,這個時候你會逐漸愛上這個小小的工具,開始欲罷不能;但是你要記住,淹死的都是會游泳的,在你還不夠了解一些復雜的功能的時候,不要隨意嘗試,因為這時你的破壞能力已經足夠毀掉你辛苦工作很久的代碼了。這一篇中我們會一起針對很多困擾你的問題找到解決方案,讓你真正成為一名git高手。為了滿足不同用戶的口味,我會分別使用命令行和 Visual Studio 兩種工具來完成這一篇的所有操作,確保鍵盤手和鼠標手都能得到滿足。
使用已有Git Repo提交和共享代碼
創建新的Git Repo
理解Git提交(commit)工作機制
使用Git分支(branch)進行工作
使用Git推送(push)共享代碼
使用Git獲取/拉取(fetch/pull)更新代碼
使用拉取請求(Pull Request)進行代碼檢視
使用Git變基(rebase)更新代碼
使用Git提交揀選(cherry pick)功能在分之間復制改動
解決合并沖突(merge conflict)
撤銷改動
忽略文件
使用Git歷史記錄比較文件,分支或者獲取歷史版本
3. Git企業開發者篇:Git起源于開源軟件Linux的開發過程,因此在開源社區中廣泛流行,也因此很多企業開發者對其敬而遠之,感覺無法滿足企業開發的訴求。在這一篇中,我們將一起探討很多企業開發者更加關心的話題,比如:權限管理,Repo分庫規劃,大規模團隊的Git工作流程,與敏捷/瀑布式等不同開發模式的配合,與持續集成/持續部署流水線的配合等對于企業開發非常重要的話題。幫助你將這個最棒的版本控制工具在你復雜的企業開發場景中使用起來。同時我們也將探討如何在大規模團隊中引入git的一些策略性思考。
在VSTS/TFS上創建Git倉庫
遷移已有代碼庫到Git倉庫,如:SVN,TFVC
Git服務器的權限管理
Git分庫規則
大規模團隊的Git配置管理流程
使用Git支持敏捷/瀑布式開發流程
Git與持續交付(配置持續集成和持續部署)
4. Git分支策略篇:在了解了git強大的分支功能后,如何能夠設計出最為高效的分支策略就是困擾很多開發團隊的問題。在這一篇中我們將專門探討如何針對不同項目/產品的交付方式和團隊結構設計不同的分支策略,滿足各種規模團隊的不同訴求。
Git 分支策略設計的原則,調試單元,部署單元,測試單元
Git 與團隊結構,產品/項目發布特性,產品生命周期
Git 拉取請求與可靠持續交付
Git 分叉(Fork)與分支(Branch)的區別
傳統分支模式與特性分支模式的比較
特性分支+拉取請求+質量門模式
混用分叉(fork)與特性分支(feature branch)
在這個教程中,我們將使用 Visual Studio Team Services (VSTS) /Team Foundation Server(TFS) 作為我們的Git服務器。為什么不采用GitHub?這一定是你在想的問題!因為這一系列文章的目標用戶是企業開發者,而VSTS提供了企業開發者所需要的全生命周期管理能力,我們在4個篇章逐漸深入的過程中你就會體會到這種端到端工具所帶來的好處。我一直都認為,一個企業的軟件交付效率中最重要的環節永遠的是編碼過程,因為這才是軟件交付的核心,沒有任何的管理實踐可以替代開發人員自由自在的編寫代碼所帶來的效率提升。當然,如果你不使用VSTS/TFS也完全不必擔心,這個教程中的大多數內容同時適用于任何Git服務器,包括GitHub, GitLab, BitBucket等大家常用的環境。
本系列教程將使用Markdown編寫,同時發布于 DevOps 文檔中心, DevOps公眾號和博客,并且文檔和所有的示例代碼都將通過GitHub開源提供給社區。
原文地址:http://devopshub.cn/2018/01/02/git-enterprise-developer-guide-preface/
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的Git 企业开发者教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Accord.Audio和百度语言识
- 下一篇: 基于百度理解与交互技术实现机器问答