好程序員教程git g使用筆記課件_第1頁(yè)
好程序員教程git g使用筆記課件_第2頁(yè)
好程序員教程git g使用筆記課件_第3頁(yè)
好程序員教程git g使用筆記課件_第4頁(yè)
好程序員教程git g使用筆記課件_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、致力于中高級(jí) IT培養(yǎng)Git參考文獻(xiàn) init.html1.Git 簡(jiǎn)介官網(wǎng)地址:Git 是 Linus Torvalds 為了幫助管理Linux 內(nèi)核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼的版本軟件。工具 CVS, Subversion等不同,它采用了分布式版本庫(kù)的方式,不必服務(wù)器端軟件支持。GIT 優(yōu)點(diǎn):大部分操作在本地完成,不需要聯(lián)網(wǎng)完整性保證盡可能添加數(shù)據(jù)而不是刪除或修改數(shù)據(jù)分支操作非??旖萘鲿撑c Linux 命令全面兼容1Git 與常用的版本Git 是一個(gè)開(kāi)源的分布式版本系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。致力于中高級(jí) IT培養(yǎng)2. 什么是版本版本最主要的功能就是追蹤文件的變更。它將什么時(shí)

2、候、什么人更改了文件的什么內(nèi)容等信息忠實(shí)地了已錄下來(lái)。每一次文件的改變,文件的版本號(hào)都將增加。除了版本變更外,版本的另一個(gè)重要功能是并行開(kāi)發(fā)。軟件開(kāi)發(fā)往往是多人協(xié)同作業(yè),版本控制可以有效地解決版本的同步以及不同開(kāi)發(fā)者之間的開(kāi)發(fā)通信問(wèn)題,提高協(xié)同開(kāi)發(fā)的效率。并行開(kāi)發(fā)中最常見(jiàn)的不同版本軟件的錯(cuò)誤(Bug)問(wèn)題也可以通過(guò)版本中分支與合并的方法有效地解決。3. 版本工具應(yīng)該具備的功能協(xié)同修改多人并行不悖的修改服務(wù)器端的同一個(gè)文件。數(shù)據(jù)備份不僅保存目錄和文件的當(dāng)前狀態(tài),還能夠保存每一個(gè)提交過(guò)的歷史狀態(tài)。版本管理在保存每一個(gè)版本的文件信息的時(shí)候要做到不保存重復(fù)數(shù)據(jù),以節(jié)約空間,提高運(yùn)行效率。這方面 SVN

3、 采用的是增量式管理的方式,而 Git 采取了文件系統(tǒng)快照的方式。權(quán)限對(duì)團(tuán)隊(duì)中參與開(kāi)發(fā)的進(jìn)行權(quán)限。對(duì)團(tuán)隊(duì)外開(kāi)發(fā)者貢獻(xiàn)的代碼進(jìn)行審核Git 獨(dú)有。歷史查看修改人、修改時(shí)間、修改內(nèi)容、日志信息。將本地文件恢復(fù)到某一個(gè)歷史狀態(tài)。2致力于中高級(jí) IT培養(yǎng)分支管理開(kāi)發(fā)團(tuán)隊(duì)在工作過(guò)多條生產(chǎn)線同時(shí)推進(jìn)任務(wù),進(jìn)一步提高效4. 版本簡(jiǎn)介4.1. 版本工程設(shè)計(jì)領(lǐng)域中使用版本也可以管理工程藍(lán)圖的設(shè)計(jì)過(guò)程。在IT 開(kāi)發(fā)過(guò)使用版本思想管理代碼的版本迭代。4.2. 版本工具思想:版本實(shí)現(xiàn):版本工具集中式版本工具:CVS、SVN、VSS分布式版本工具:Git、Mercurial、Bazaar、Darcs5. Git 與 S

4、VN 區(qū)別Git 與 SVN 區(qū)別點(diǎn):·1、Git 是分布式的,SVN 不是:這是 Git和其它布式的版本系統(tǒng),例如 SVN,CVS 等,最的區(qū)別。3致力于中高級(jí) IT培養(yǎng)·2、Git 把內(nèi)容按元數(shù)據(jù)方式,而 SVN 是按文件:所有的系統(tǒng)都是把文件的元信息隱藏在一個(gè)類似 .svn、.cvs 等的文件夾里。·3、Git 分支和 SVN 的分支不同:分支在 SVN 中一點(diǎn)都不特別,其實(shí)它就是版本庫(kù)中的另外一個(gè)目錄。·4、Git 沒(méi)有一個(gè)全局的版本號(hào),而SVN有:目前為止這是跟 SVN 相比 Git 缺少的最大的一個(gè)特征。算法。這能確問(wèn)題時(shí)降低對(duì)版本庫(kù)的破壞。

5、6. Git 安裝官網(wǎng):6.1. Windows平臺(tái)上安裝4保代碼內(nèi)容的完整性,確保在遇到磁盤故障和· 5、Git 的內(nèi)容完整性要優(yōu)于 SVN:Git 的內(nèi)容使用的是 SHA-1致力于中高級(jí) IT培養(yǎng)5致力于中高級(jí) IT培養(yǎng)6致力于中高級(jí) IT培養(yǎng)完全不修改 Path 環(huán)境變量。但只能在 GitBash 下使用7致力于中高級(jí) IT培養(yǎng)8致力于中高級(jí) IT培養(yǎng)9致力于中高級(jí) IT培養(yǎng)1致力于中高級(jí) IT培養(yǎng)7. Git 結(jié)構(gòu)Git 工作區(qū)、暫存區(qū)和本地(版本)庫(kù)7.1. 基本概念我們先來(lái)理解下 Git 工作區(qū)、暫存區(qū)和版本庫(kù)概念工作區(qū):就是你在電腦里能看到的目錄(寫(xiě)的代碼·工

6、作區(qū))。·暫存區(qū):英文叫 stage, 或 index。一般存放在 ".git 目錄下" 下的 index 文件(.git/index)中,所以我們把暫存區(qū)有時(shí)也叫作索引(index)。(計(jì)劃要提交的文件)·版本庫(kù):(本地庫(kù))工作區(qū)有一個(gè)隱藏目錄.git,這個(gè)不算工作區(qū),而是 Git 的版本庫(kù)。1致力于中高級(jí) IT培養(yǎng)8. Git 和代碼托管中心8.1. 代碼托管中心代碼托管中心的任務(wù):維護(hù)庫(kù)局域網(wǎng)環(huán)境下:GitLab 服務(wù)器環(huán)境下碼云1致力于中高級(jí) IT培養(yǎng)8.2. 本地庫(kù)和庫(kù)團(tuán)隊(duì)內(nèi)部協(xié)作和跨團(tuán)隊(duì)協(xié)作8.2.1. 團(tuán)隊(duì)內(nèi)部協(xié)作流程:1致力于中高級(jí) IT

7、培養(yǎng)8.2.2. 跨團(tuán)隊(duì)協(xié)作9. Git 命令行Git Bash 命令同時(shí)支持 Linux 相關(guān)命令。1致力于中高級(jí) IT培養(yǎng)9.1. 創(chuàng)建倉(cāng)庫(kù)(本地庫(kù))9.1.1. 初始化本地倉(cāng)庫(kù)Git 使用 git init 命令來(lái)初始化一個(gè) Git 倉(cāng)庫(kù),Git 的很多命令都需要在 Git的倉(cāng)庫(kù)中運(yùn)行,所以 git init 是使用 Git 的第一個(gè)命令。在成 git init 命令后,Git 倉(cāng)庫(kù)會(huì)生成一個(gè) .git 目錄,該目錄包含了的所有元數(shù)據(jù),其他的項(xiàng)目目錄保持不變(不像 SVN 會(huì)在每個(gè)子目錄生成 .svn 目錄,Git只在倉(cāng)庫(kù)的根目錄生成 .git 目錄)。D:javagitGitWorkS

8、pace選擇 GitWorkSpace 當(dāng)作我Git 存放本地庫(kù)目錄創(chuàng)建一個(gè)項(xiàng)目目錄: WeChat使用當(dāng)前目錄作為 Git 倉(cāng)庫(kù),我們只需使它初始化初始化后,會(huì)在 WeChat 目錄下會(huì)出現(xiàn)一個(gè)名為 .git 的目錄,所有 Git 需要的數(shù)據(jù)和存放在這個(gè)目錄中。1都致力于中高級(jí) IT培養(yǎng)查看隱藏的.git 文件內(nèi)容:ll A-a/A 表示查看隱藏文件ll .git/表示查看.git 下的文件列表顯示例如:查看.git/config 內(nèi)容注意:.git 目錄是存放本地庫(kù)相關(guān)的目錄和文件,不要對(duì)其進(jìn)行修改和操作。9.1.2. 設(shè)置簽名簽名概述1.簽名的作用:用于標(biāo)識(shí)不同的開(kāi)發(fā)()形式:用戶名:w

9、eixin郵箱:315759265.com注意:這里的簽名和庫(kù)(代碼拖管中心/GitLab)無(wú)任何關(guān)系。1致力于中高級(jí) IT培養(yǎng)項(xiàng)目級(jí)別(倉(cāng)庫(kù)):僅在當(dāng)前本地庫(kù)范圍有效(此處的 WeChat)系統(tǒng)級(jí)別:登錄當(dāng)前操作系統(tǒng)的用戶范圍開(kāi)始窗口級(jí)別優(yōu)先級(jí):就近原則:項(xiàng)目級(jí)別優(yōu)先級(jí)大于系統(tǒng)(用戶)級(jí)別簽名注意:(簽名級(jí)別必須要設(shè)置,如果都不設(shè)置,GIT辨別)可能會(huì)導(dǎo)致命令出差。無(wú)法簽名命令2.git config項(xiàng)目級(jí)別(倉(cāng)庫(kù)):僅在當(dāng)前本地庫(kù)范圍有效git config weixin_progit config user.315759265_系統(tǒng)級(jí)別:登錄當(dāng)前操作系統(tǒng)

10、的用戶范圍git config global weixin_globalgit config global user.315759265 項(xiàng)目級(jí)別(倉(cāng)庫(kù)):僅在當(dāng)前本地庫(kù)范圍有效命令:1致力于中高級(jí) IT培養(yǎng)查看設(shè)置結(jié)果:系統(tǒng)級(jí)別:登錄當(dāng)前操作系統(tǒng)的用戶范圍命令:查看(系統(tǒng)級(jí)別)需要到 (家目錄查看):cd 家目錄ll A | grep i git查看叫 git 的文件名稱cat .gitconfig 查看文件內(nèi)容1致力于中高級(jí) IT培養(yǎng)在實(shí)際開(kāi)發(fā)過(guò),通常只需要設(shè)置系統(tǒng)級(jí)別即可。如果有特殊需要,再設(shè)置項(xiàng)目級(jí)別。9.2. 常用命令1、 如何將一個(gè)文件在工作

11、區(qū)提交到本地庫(kù)?2、 修改呢?9.2.1. Git status簡(jiǎn)介git status 命令用于顯示工作目錄和暫存區(qū)的狀態(tài)。使用此命令能看到那些修改被暫存到了, 哪些沒(méi)有, 哪些文件沒(méi)有被 Git tracked 到。git status 不顯示已經(jīng)commit 到項(xiàng)目歷史中去的信息??错?xiàng)目歷史的信息要使用 git log1致力于中高級(jí) IT培養(yǎng)9.2.2. Git add按如上提示,新建【VIM 新建文件】,查看 git status 能看到信息提示:git add hello.txt 命令將文件內(nèi)容添加到索引(將修改添加到暫存區(qū))。也就是將要提交的文件的信息添加到索引庫(kù)中。(將工作區(qū)寫(xiě)入

12、暫存區(qū))描述:此命令將要提交的文件的信息添加到索引庫(kù)中(將修改添加到暫存區(qū)),以準(zhǔn)備為下一次提交分段的內(nèi)容。git add 后,再次git status9.2.3. Git rmgit rm 命令用于從工作區(qū)和索引中刪除文件。簡(jiǎn)介2致力于中高級(jí) IT培養(yǎng)git rm cached文件名稱/用于將暫存區(qū)的文件恢復(fù)到工作區(qū)9.2.4. Git commitgit commit 命令用于將更改(提交)到庫(kù)。將索引的當(dāng)前內(nèi)容與描述更改的用戶和日志消息一起在新的提交中。描述git commit 命令將索引的當(dāng)前內(nèi)容與描述更改的用戶和日志消息一起提交中。在新的執(zhí)行命令:git commit 文件名.txt

13、 后,顯示如下需要輸入提交文件的備注或描述??赏ㄟ^(guò):set nu顯示行號(hào)方式便利輸入備注信息2致力于中高級(jí) IT培養(yǎng)Vim加入備注、保存并后即可。270415a 相當(dāng)于 svn 中的文件版本號(hào)案例:對(duì) hello.txt 文件進(jìn)行修改可能過(guò):git commit-m “備注信息”文件名/快速加入備注描述9.2.5. Git checkoutgit checkout 命令用于切換分支或恢復(fù)工作樹(shù)文件。git checkout 是git 最常用令之一,同時(shí)也是一個(gè)很令,因?yàn)檫@條命令會(huì)重寫(xiě)工作區(qū)。2致力于中高級(jí) IT培養(yǎng)9.3. 常用命令9.3.1. Git loggit log 命令用于顯示提交日

14、志信息。使用語(yǔ)法通過(guò)如下優(yōu)雅的顯示(查看歷史):git log -pretty=onelineGit log -onelinegit reflog/用于顯示需要回退的步驟 HEAD * 2致力于中高級(jí) IT培養(yǎng)9.3.2. Git reflog/reset 查看(設(shè)置)歷史(之前/之后):git reset命令用于將當(dāng)前HEAD復(fù)位到指定狀態(tài)。一般用于撤消之前的一些操作(如: git add,git commit等)。HEAD移動(dòng)到當(dāng)前版本需要多少步基于索引值操作推薦git reset -hard 局部索引值查看當(dāng)前版本:通過(guò)git reset -hard 局部索引值跳到指定版本2致力于中高級(jí)

15、 IT培養(yǎng)刪除后找回9.3.3.git rm 命令用于從工作區(qū)和索引中刪除文件。1、工作區(qū)創(chuàng)建文件,通過(guò)命令提交到本地庫(kù)git add d1.txtgit commit m 上傳到本地庫(kù) d1.txt d1.txtVim d1.txt2、 執(zhí)行命令進(jìn)行刪除:git rm d1.txt 工作區(qū)刪除后,提交到本地庫(kù) git commit m 刪除 d1.txt d1.txt3、 通過(guò)日志 git reflog 找回$ git reset -hard 15d50024、 ll 查看即可。注意:git 只要在本地庫(kù)發(fā)生操作,都會(huì)進(jìn)行版本。9.3.4. 文件比較git diff 命令用于顯示提交和工作樹(shù)

16、等之間的更改。此命令比較的是工作目錄中當(dāng)前文件和暫存區(qū)域快照之間的差異,也就是修改之后還沒(méi)有暫存起來(lái)的變化內(nèi)容。(默認(rèn)是和暫存區(qū)文件進(jìn)行比較)1、示例:gid diff 將工作區(qū)中的文件和暫存區(qū)進(jìn)行比較vim git.txt修改內(nèi)容git diff git.txt2致力于中高級(jí) IT培養(yǎng)2、示例:gid diff 暫存區(qū)中的文件和本地庫(kù)進(jìn)行比較1、將 git.txt 工作區(qū)添加到暫存區(qū) git add git.txt2、比較:git diff HEAD git.txt/HEAD 代表本地庫(kù)最新版本指針3、所有文件比較/不加文件名git diff退回修改:git checkout 文件名10.

17、分支10.1. 分支概念什么是分支?在版本過(guò),使用多條線同時(shí)推進(jìn)多個(gè)任務(wù)。2致力于中高級(jí) IT培養(yǎng)分支的好處?同時(shí)并行推進(jìn)多個(gè)功能開(kāi)發(fā),提高開(kāi)發(fā)效率各個(gè)分支在開(kāi)發(fā)過(guò),如果某一個(gè)分支開(kāi)發(fā)失敗,對(duì)其他分支有任何影響。失敗的分支刪除重新開(kāi)始即可10.2. 分支命令(操作)10.2.1.Git branchgit branch 命令用于列出,創(chuàng)建或刪除分支。git checkout 命令用于切換分支或恢復(fù)工作樹(shù)文件。1 查看當(dāng)前有哪些分支gitbranch2.新建一個(gè)分支git branch hot_fix3. 切換到指定分支git checkout hot_fix4. 查看本地和分支git bran

18、ch a示例:合并分支:1、在分支 hot_fix 上修改 git.txt 文件,并提交到本地庫(kù)2、需要合并分支。讓 master 上的 git.txt 同步合并分支:1、切換到接受修改的分支上 master(將 hot_fix 內(nèi)容同步到 master)2致力于中高級(jí) IT培養(yǎng)git checkout master/切換到接受修改的分支上2、執(zhí)行 merge 命令git merge 命令用于將兩個(gè)或兩個(gè)以上的開(kāi)發(fā)歷史加入(合并)一起。git merge hot_fix/ hot_fix 被合并的分支名稱10.3. 合并分支()解決問(wèn)題:將兩個(gè)分支內(nèi)的文件分別進(jìn)行修改.(且改變的是同一位置)進(jìn)行合并。1、查看分支信息:git branch -v2、在 master 下修改某行文件內(nèi)容。然后進(jìn)行提交。vim git.txtgit add git.txtgit commit m master 提交 git.txt3、查看分支信息git branch -v2致力于中高級(jí) IT培養(yǎng)4、在 hot_fix 下修改

溫馨提示

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

評(píng)論

0/150

提交評(píng)論