軟件工程 課件 0.2 Git介紹及使用_第1頁
軟件工程 課件 0.2 Git介紹及使用_第2頁
軟件工程 課件 0.2 Git介紹及使用_第3頁
軟件工程 課件 0.2 Git介紹及使用_第4頁
軟件工程 課件 0.2 Git介紹及使用_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Git使用介紹內容分布式版本管理概述分布式版本控制的基本思想何為Git?Git的基本理念、功能和服務Git使用Git的操作問題提出如何將多人開發(fā)的不同代碼管理起來程序代碼存儲代碼沖突處理代碼版本變更程序代碼追蹤工作量的統(tǒng)計……需要對代碼進行版本控制(RevisionControl)張三李四王五版本控制的重要性版本控制是有效管理程序文檔、提高協(xié)作效率的重要手段多人協(xié)作(橫向視角)版本迭代(縱向視角)開發(fā)者1開發(fā)者2開發(fā)者3開發(fā)者4項目管理者v1v2v3v4版本控制概念版本控制是對軟件制品(程序、文檔、數(shù)據等)的更改和管理,它是軟件配置管理的重要組成部分組織和保護軟件制品:源代碼和文檔實現(xiàn)跨區(qū)域、多人的協(xié)同開發(fā)

記載和追蹤一個或者多個文件的歷史記錄跟蹤記錄軟件開發(fā)過程統(tǒng)計軟件開發(fā)工作量版本控制的二種方式集中式與

分布式集中式版本控制集中式版本控制版本庫集中存放在中央服務器之中開發(fā)前先從中央服務器取得最新版本開發(fā)完再把自己的工作推送給中央服務器中央服務器就好比是一個圖書館,你要改一本書,必須先從圖書館借出來,然后回到家自己改,改完后再放回圖書館特點高度集中、難以有效支持協(xié)同開發(fā)典型系統(tǒng):CVS、SVN、ClearCase版本庫開發(fā)者開發(fā)者開發(fā)者分布式版本管理分布式版本控制有一個中央倉庫開發(fā)前在本機上拷貝一個完整軟件倉庫開發(fā)完把自己工作提交到本地倉庫中需要同步給協(xié)作者時再遞交到中央倉庫版本庫分步存儲于各協(xié)作者電腦中優(yōu)點不依賴中央服務器、可在本地開發(fā)、有效支持協(xié)同開發(fā)典型系統(tǒng):Git中央倉庫本地倉庫本地倉庫本地倉庫本地倉庫版本控制的發(fā)展RCS(1982)CVS(1990),SVN(2001)Git(2005)BitKeeper(1999)何為Git?Git是一種分布式的版本控制系統(tǒng)支持存儲代碼、跟蹤修訂歷史記錄、合并代碼更改等,可在需要時恢復較早的代碼版本,可實現(xiàn)團隊的高效協(xié)作LinusTorvalds研制和開發(fā)為了幫助管理Linux內核開發(fā)而開發(fā)的一個開源的版本控制軟件成為行業(yè)標準Git是目前世界上最先進的分布式版本控制LinusTorvaldsGit采用分部式管理模式分布式版本管理本地擁有完整版本庫,支持離線操作有效應對了中心服務器崩潰帶來的影響有效支持代碼審查、持續(xù)集成等開發(fā)活動Git的基本功能

版本管理管理各種源代碼和文檔、切換不同版本等

過程管理跟蹤開發(fā)過程、查閱歷史記錄等代碼評審可視化評估代碼質量,決斷是否合并代碼等;擴展功能企業(yè)DevOps自動化、代碼Issue聯(lián)動管理;……

Workspace:工作區(qū)Index/Stage:暫存區(qū)Repository:倉庫區(qū)(或本地倉庫)Git的倉庫構成遠端倉庫本地端倉庫本地倉庫暫存區(qū)工作區(qū)Remote:遠程倉庫Git版本管理的基本概念倉庫(Repository)軟件所有文件的完整修訂歷史版本(Revision)代碼庫的編號方案,如Tag0.1分支(Branch)對代碼庫并行修改時的代碼庫副本如master,develop,branch1,…提交(Commit)對分支的一次修訂下拉(Pull)將遠程的一個分支讀取并保存到本地分支推送(Push)將本地分支代碼發(fā)送到遠程某個分支合并(Merge)將對相同文件在不同分支的修改合并到一個分支中沖突(Conflict)當兩個分支中存在對同一文件的不同修改,并試圖合并這兩個分支時,就會發(fā)生沖突Tag0.1Tag0.2Tag1.0Commit#ab892nCommit#lm2671spullpushmaster和develop是標準分支,master是缺省的主分支Git各項操作本地倉庫暫存區(qū)工作區(qū)Git分支的理念和操作使用分支意味著你可以把你的工作從開發(fā)主線上分離開來,以免影響開發(fā)主線masterbranch2branch1createmergecommitcreatemergecommit分支本地操作分支本地操作Git的使用分支管理流程:初始化過程(組長)1創(chuàng)建版本庫(默認master分支),push初始代碼2創(chuàng)建遠程develop分支分支管理流程:基本過程(組員)3克隆代碼,切換到develop分支4新建自己的分支my_branch(各組員分支名不同)5修改my-branch:正常開發(fā),修改完成后將修改的內容推送到遠程my_branch分支合并分支:基本過程(組長)6切換develop分支,pull代碼7合并組員的分支(my_branch)到develop分支8解決沖突,然后將合并好的develop分支推送到遠程9將develop分支合并到master分支(這一步可以按實際需求,master上一般為穩(wěn)定版本)組長組員創(chuàng)建版本庫push代碼創(chuàng)建develop分支創(chuàng)建自己分支masterdevelop自己分支自己分支創(chuàng)建自己分支提交、push代碼提交、push代碼合并分支解決沖突合并分支合并developPull最新代碼Pull最新代碼1.創(chuàng)建本地版本庫命令:gitinit在執(zhí)行完成gitinit命令后,Git倉庫會生成一個.git目錄,該目錄包含了資源的所有元數(shù)據使用當前目錄作為git倉庫,直接在當前目錄進行初始化使用指定目錄作為git倉庫,在初始化命令之后加上指定目錄路徑,如gitinitnewrepo2.克隆遠程版本庫gitclone<repo><directory>將遠程倉庫中的代碼拷貝項目到本地倉庫其中repo表示遠程倉庫目錄,directory代表本地倉庫目錄3.在暫存區(qū)添加/撤銷文件gitadd

[file1][file2]...or

[dir] 將文件添加到暫存區(qū)gitcheckout[file1]撤銷不需要的修改 4.提交修改到本地倉庫gitcommit-m[message]gitcommit[file1][file2]...-m[message]將暫存區(qū)內容添加到本地倉庫中gitlog查看commit提交日志5.添加遠程版本庫gitremoteadd“遠程倉庫名”“遠程倉庫地址”添加遠程版本庫6.推送本地內容到遠程倉庫

gitpush遠程倉庫名本地分支名遠程分支名將你的修改推送到遠程倉庫,便于測試或者和團隊中其他人協(xié)作推送本地內容時,會將所有未推送至遠程倉庫的內容,都提交到遠程倉庫7.拉取遠程分支到本地gitpull遠程主機名遠程分支名:本地分支名在團隊協(xié)作中,如果別人對項目做了修改,而你需要將這些修改合并到你本地時,需要使用gitpull命令gitpull遠程主機名遠程分支名:本地分支名-f如果遠程分支和本地分支對同一內容做了修改,這將導致將遠程分支修改合并到本地分支時會發(fā)生沖突可以選擇直接強制拉取,使用遠程分支的修改,覆蓋本地分支的修改。強制拉取需要用到-f參數(shù)

Git關鍵操作的總結本地倉庫遠程倉庫pushpullcommitcommitswitch合并請求TortoiseGit軟件工具一種開源的Git版本控制系統(tǒng)客戶端軟件采用Windows圖形化界面,使用Git變得更加簡便和易于操作安裝訪問TortoiseGit官網()供閱讀的相關技術博客git入門/#/spaces/146/resources-docs/6423實操視頻知士薈->學習空間:軟件工程課程教改及培訓【教師】/#/spaces/402/resources/21291拓展閱讀【技術博客干貨】一篇文章讓你入門git/#/spaces/146/resources-docs/6423相關書籍課后作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論