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