<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【軟件開發(fā)】版本管理Git

          共 3478字,需瀏覽 7分鐘

           ·

          2021-07-07 21:05

          Start:關(guān)注本公眾號(hào)后,可直接聯(lián)系后臺(tái)獲取排版美化的詳細(xì)文檔!

          Hints:本篇文章所編纂的資料均來(lái)自網(wǎng)絡(luò),特此感謝參與奉獻(xiàn)的有關(guān)人員。


          • Git的基本簡(jiǎn)介:

          Git 是一個(gè)開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個(gè)開放源碼的版本控制軟件。Git 與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫(kù)的方式,不必服務(wù)器端軟件支持。

           

          • Git的基本概念:

          工作區(qū):就是你在電腦里能看到的目錄。

          暫存區(qū):英文叫 stage 或index。一般存放在 .git 目錄下的index 文件(.git/index)中,所以我們把暫存區(qū)有時(shí)也叫作索引(index)。

          版本庫(kù):工作區(qū)有一個(gè)隱藏目錄 .git,這個(gè)不算工作區(qū),而是 Git 的版本庫(kù)。


          -圖中左側(cè)為工作區(qū),右側(cè)為版本庫(kù)。在版本庫(kù)中標(biāo)記為 "index" 的區(qū)域是暫存區(qū)(stage/index),標(biāo)記為 "master" 的是 master 分支所代表的目錄樹。

          -圖中我們可以看出此時(shí)"HEAD" 實(shí)際是指向 master 分支的一個(gè)"游標(biāo)"。所以圖示的命令中出現(xiàn) HEAD 的地方可以用 master 來(lái)替換。

          -圖中的 objects 標(biāo)識(shí)的區(qū)域?yàn)?Git 的對(duì)象庫(kù),實(shí)際位于 ".git/objects" 目錄下,里面包含了創(chuàng)建的各種對(duì)象及內(nèi)容。

          -當(dāng)對(duì)工作區(qū)修改(或新增)的文件執(zhí)行 gitadd 命令時(shí),暫存區(qū)的目錄樹被更新,同時(shí)工作區(qū)修改(或新增)的文件內(nèi)容被寫入到對(duì)象庫(kù)中的一個(gè)新的對(duì)象中,而該對(duì)象的ID被記錄在暫存區(qū)的文件索引中。

          -當(dāng)執(zhí)行提交操作(git commit)時(shí),暫存區(qū)的目錄樹寫到版本庫(kù)(對(duì)象庫(kù))中,master 分支會(huì)做相應(yīng)的更新。即 master 指向的目錄樹就是提交時(shí)暫存區(qū)的目錄樹。

          -當(dāng)執(zhí)行 git resetHEAD 命令時(shí),暫存區(qū)的目錄樹會(huì)被重寫,被 master 分支指向的目錄樹所替換,但是工作區(qū)不受影響。

          -當(dāng)執(zhí)行 git rm--cached <file> 命令時(shí),會(huì)直接從暫存區(qū)刪除文件,工作區(qū)則不做出改變。

          -當(dāng)執(zhí)行 gitcheckout . 或者 git checkout -- <file> 命令時(shí),會(huì)用暫存區(qū)全部或指定的文件替換工作區(qū)的文件。這個(gè)操作很危險(xiǎn),會(huì)清除工作區(qū)中未添加到暫存區(qū)中的改動(dòng)。

          -當(dāng)執(zhí)行 gitcheckout HEAD . 或者 git checkout HEAD<file> 命令時(shí),會(huì)用 HEAD 指向的 master 分支中的全部或者部分文件替換暫存區(qū)和以及工作區(qū)中的文件。這個(gè)命令也是極具危險(xiǎn)性的,因?yàn)椴坏珪?huì)清除工作區(qū)中未提交的改動(dòng),也會(huì)清除暫存區(qū)中未提交的改動(dòng)。

           

          • Git的工作流程:


          工作流程如下:

          克隆 Git 資源作為工作目錄。

          在克隆的資源上添加或修改文件。

          如果其他人修改了,你可以更新資源。

          在提交前查看修改。

          提交修改。

          在修改完成后,如果發(fā)現(xiàn)錯(cuò)誤,可以撤回提交并再次修改并提交。


          Git的基本操作:

          git clone、gitpush、git add 、gitcommit、git checkout、gitpull

          -workspace:工作區(qū)

          -staging area:暫存區(qū)/緩存區(qū)

          -local repository:版本庫(kù)或本地倉(cāng)庫(kù)

          -remote repository:遠(yuǎn)程倉(cāng)庫(kù)

          創(chuàng)建倉(cāng)庫(kù)命令

          命令

          說(shuō)明

          git init

          初始化倉(cāng)庫(kù)

          git clone

          拷貝一份遠(yuǎn)程倉(cāng)庫(kù),也就是下載一個(gè)項(xiàng)目。

          提交與修改

          Git 的工作就是創(chuàng)建和保存你的項(xiàng)目的快照及與之后的快照進(jìn)行對(duì)比。

          下表列出了有關(guān)創(chuàng)建與提交你的項(xiàng)目的快照的命令:

          命令

          說(shuō)明

          git add

          添加文件到倉(cāng)庫(kù)

          git status

          查看倉(cāng)庫(kù)當(dāng)前的狀態(tài),顯示有變更的文件。

          git diff

          比較文件的不同,即暫存區(qū)和工作區(qū)的差異。

          git commit

          提交暫存區(qū)到本地倉(cāng)庫(kù)。

          git reset

          回退版本。

          git rm

          刪除工作區(qū)文件。

          git mv

          移動(dòng)或重命名工作區(qū)文件。

          提交日志提交日

          命令

          說(shuō)明

          git log

          查看歷史提交記錄

          git blame <file>

          以列表形式查看指定文件的歷史修改記錄

          遠(yuǎn)程操作

          命令

          說(shuō)明

          git remote

          遠(yuǎn)程倉(cāng)庫(kù)操作

          git fetch

          從遠(yuǎn)程獲取代碼庫(kù)

          git pull

          下載遠(yuǎn)程代碼并合并

          git push

          上傳遠(yuǎn)程代碼并合并

          列出分支基本命令:

          git branch

          切換分支命令:

          git checkout (branchname)

          創(chuàng)建新分支并立即切換到該分支下,從而在該分支中操作。

           git checkout -b (branchname)

          創(chuàng)建分支命令:

          git branch (branchname)

          刪除分支命令:

          git branch -d (branchname)

          分支合并

          一旦某分支有了獨(dú)立內(nèi)容,你終究會(huì)希望將它合并回到你的主分支。你可以使用以下命令將任何分支合并到當(dāng)前分支中去:

          git merge

          以列表形式查看指定文件的歷史修改記錄。

          git blame <file> 

          Git 標(biāo)簽

          git tag -a <tagname>

          指定標(biāo)簽信息命令

          git tag -a <tagname> -m "runoob.com標(biāo)簽"

          要查看當(dāng)前配置有哪些遠(yuǎn)程倉(cāng)庫(kù),可以用命令:

          git remote

          從遠(yuǎn)程倉(cāng)庫(kù)下載新分支與數(shù)據(jù):

          git fetch

          推送你的新分支與數(shù)據(jù)到某個(gè)遠(yuǎn)端倉(cāng)庫(kù)命令:

          git push [alias] [branch]

          刪除遠(yuǎn)程倉(cāng)庫(kù)你可以使用命令:

          git remote rm [別名]

          入要上傳的倉(cāng)庫(kù),添加遠(yuǎn)程地址:

          git remote add origin [email protected]:yourName/yourRepo.git

          在合并改動(dòng)之前,你可以使用如下命令預(yù)覽差異:
          git diff <source_branch> <target_branch>

           

          • Git的下載安裝:

          http://git-scm.com/downloads

           

          • Git的使用示例:

          Git的命令桌面:

          -查看Git的版本

          -查看Git倉(cāng)庫(kù)的狀態(tài)

          -查看歷史提交記錄

          -配置本地全局姓名和郵箱

          -設(shè)置Git默認(rèn)使用的文本編輯器, 一般可能會(huì)是 Vi 或者 Vim。

          -設(shè)置在解決合并沖突時(shí)使用的差異分析工具。比如要改用 vimdiff

          -查看配置的信息

          -查看環(huán)境變量的設(shè)定

          -Git倉(cāng)庫(kù)的初始化

          -Git倉(cāng)庫(kù)創(chuàng)建目錄

          -Git 添加文件

          -Git提交,進(jìn)行確定,在Git的記錄中保存

          -Git克隆,從現(xiàn)有Git倉(cāng)庫(kù)中拷貝項(xiàng)目

          執(zhí)行該命令后,會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè)名為grit的目錄,其中包含一個(gè) .git 的目錄,用于保存下載下來(lái)的所有版本記錄。

          -Git克隆,從現(xiàn)有Git倉(cāng)庫(kù)中拷貝項(xiàng)目至新的目錄

          執(zhí)行該命令后,會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè)名為mygrit的目錄,其中包含一個(gè) .git 的目錄,用于保存下載下來(lái)的所有版本記錄。

           

          • 參考資料:

          Git的教程:

          https://www.runoob.com/manual/github-git-cheat-sheet.pdf

          https://www.runoob.com/git/git-tutorial.html

          Github 簡(jiǎn)明教程 | 菜鳥教程(runoob.com)

          https://www.runoob.com/w3cnote/git-guide.html

          Git的官網(wǎng):

          https://git-scm.com/

          Git私有倉(cāng)庫(kù)服務(wù)器搭建

          https://www.runoob.com/git/git-server.html

          用git從遠(yuǎn)程倉(cāng)庫(kù)下載代碼到本地(非master分支)_每天進(jìn)步一點(diǎn)點(diǎn)-CSDN博客_git遠(yuǎn)程下載代碼

          https://blog.csdn.net/KingJin_CSDN_/article/details/83110900

          公眾號(hào)二維碼

          End:如果有興趣了解金融量化交易和其他數(shù)據(jù)分析的實(shí)用技術(shù),歡迎關(guān)注本公眾號(hào)

          瀏覽 71
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  99免费观看视频 | 成人午夜色情无码视频app | 思瑞与土豪国产一区二区 | 黄色艹逼视频在线观看 | 啪视频在线观看 |