<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      從零開始一個git操作實例,圖文并茂

      徒弟不懂git怎么用,

      于是寫了篇文章,

      把本地git操作從頭寫了一遍,

      自己去看吧!

      img

      0、基本概念

      ?Git是一個免費、開源的、分布式版本控制系統

      ?它使用一個特殊的叫做倉庫的數據庫來記錄文件的變化

      ?倉庫中的每個文件都有一個完整的版本歷史記錄

      1)安裝

      sudo apt-update
      sudo apt-get install git
      git --version
      

      2)工作流轉

      Git 管理項目時,文件流轉的三個工作區域:Git 的工作目錄,暫存區域,以及本地倉庫。

      你的本地倉庫由 git 維護的三棵"樹"組成。

      • 工作目錄:它持有實際文件;

      • 暫存區(Index):它像個緩存區域,臨時保存你的改動;

      • 本地倉庫(Respository):可以把本地倉庫理解成一個目錄,這個目錄中所有的文件都可以被Git管理起來

        每個文件的刪除、修改、新增操作都可以被Git跟蹤到

        以便任何時候,都可以追蹤歷史或者還原到之前的某一個版本

        HEAD,它指向你最后一次提交的結果

      3)文件3種狀態

      對于任何一個文件,在 Git 內都只有三種狀態:已修改(modified),已暫存(staged)和已提交(committed)

      • 已修改表示修改了某個文件,但還沒有提交保存;
      • 已暫存表示把已修改的文件放在下次提交時要保存的清單中; add
      • 已提交表示該文件已經被安全地保存在本地數據庫中了。commit

      一、創建倉庫并提交第1個commit

      步驟1-4流程,參考下圖流程會更清晰一些

      1、創建倉庫

      使用當前目錄作為Git倉庫,我們只需使它初始化。

      git init
      

      命令執行完后會在當前目錄生成一個 .git 目錄。

      2、新建本地文件

      本地增加文件url.c、README.md

      實用git status查看文件狀態,紅色部分,有2個未跟蹤的在文件

      3、提交文件到暫存區git add

      你可以提出更改(把它們添加到暫存區),使用如下命令:

      git add <filename>
      git add .      //添加所有文件
      git add *.c    //添加所有c文件
      

      執行下面操作:

      git add *.c 
      git add README.md
      

      4、提交改動git commit

      使用如下命令以實際提交改動:

      git commit -m "代碼提交信息"
      

      或者

      git commit
      

      然后進入vim編輯器,添加提交信息

      例如:

      git commit -m '初始化項目版本'
      

      以上命令將目錄下以 .c 結尾及 README 文件提交到倉庫中。

      現在,剛才的改動已經提交到了 HEAD,但是還沒到遠端倉庫。

      可以使用git log查看所有的提交:

      5、推送改動git push

      剛才的改動現在已經在本地倉庫的 HEAD 中了。

      執行如下命令以將這些改動提交到遠端倉庫

      git push origin master
      

      可以把 master 換成你想要推送的任何分支

      如果你還沒有克隆現有倉庫,并欲將你的倉庫連接到某個遠程服務器,你可以使用如下命令添加:

      git remote add origin <server>
      

      如此你就能夠將你的改動推送到所添加的服務器上去了。

      三、 分支操作

      分支是用來將特性開發絕緣開來的。在你創建倉庫的時候,master 是"默認的"分支

      在其他分支上進行開發,完成后再將它們合并到主分支上。

      0)查看分支

      列出分支基本命令:

      git branch
      

      沒有參數時,git branch 會列出你在本地的分支。

      此例的意思就是,我們有一個叫做 master 的分支,并且該分支是當前分支。
      執行 git init 的時候,默認情況下 Git 就會為你創建 master 分支。
      分支在本地完成,速度快。

      1)創建分支

      要創建一個新的分支,我們使用branch命令。

      git branch test
      

      由上圖所示:

      1. 多了一個分支test
      2. 當前分支為主分支master,前面*表示活動分支

      2)切換分支

      branch命令不會將我們帶入分支,只是創建一個新分支。所以我們使用checkout命令來更改分支。

      git checkout test
      

      創建一個叫做"test"的分支,并切換過去:

      git checkout -b test
      

      如上圖所示:

      1. 分支test前面有*,所以當前活動分支為master

      分支創建和切換參考下圖:

      3)切回master分支并合并

      在分支test上,修改文件url.c,然后commit

      切換回主分支并合并

      git checkout master
      git merge test
      

      由上圖所示,git merge test后,主分支多了一個新的commit b9217

      注意:

      對其他分支的更改不會反映在主分支上。如果想將更改提交到主分支,則需切換回master分支,然后使用合并。

      4)刪除分支

      使用-d標識,把新建的分支刪掉:

      git branch -d test
      git branch -D test
      

      如上圖,我們刪除了分支test

      5)上傳分支push

      除非你將分支推送到遠端倉庫,不然該分支就是 不為他人所見的:

      git push origin <branch>
      

      四、替換本地改動git checkout

      假如操作失誤可以使用如下命令替換掉本地改動:

      git checkout -- <filename>
      

      此命令會使用 HEAD 中的最新內容替換掉你的工作目錄中的文件

      已添加到暫存區的改動以及新文件都不會受到影響。

      • 步驟

      修改文件url.c,增加信息

      //this change will be delete by git checkout
      

      然后再git checkout url.c

      如上圖所示,

      執行下面命令后:

      git checkout url.c
      

      url.c修改的信息

      //this change will be delete by git checkout
      

      已經被刪除了,此時工作區域文件還原到了commitb 9217狀態

      查看url.c:
      在這里插入圖片描述

      假如你想丟棄你在本地的所有改動與提交,可以到服務器上獲取最新的版本歷史,并將你本地主分支指向它:

      git fetch origin
      git reset --hard origin/master
      

      五、重置git reset

      當我們不想要之前提交的修改時,就會用到這個命令。也許這是一個 錯誤的提交或者可能是引入了 bug 的提交,這時候就要執行 git reset。

      git reset 能讓我們不再使用當前臺面上的文件,讓我們可以控制 HEAD 應該指向的位置。

      1)軟重置

      軟重置會將 HEAD 移至指定的提交(或與 HEAD 相比的提交的索引),而不會移除該提交之后加入的修改!

      輸入 git status 后,你會看到我們仍然可以訪問在之前的提交上做過的所有修改。

      這意味著我們可以修復這些文件的內容,之后再重新提交它們!

      2)硬重置

      有時候我們并不想保留特定提交引入的修改。不同于軟重置,我們應該再也無需訪問它們。

      Git 應該直接將整體狀態直接重置到特定提交之前的狀態:這甚至包括你在工作目錄中和暫存文件上的修改。

      我們重新add并commit,然后硬重置

      可見我們所有提交的信息都已經被移除,

      工作區域文件恢復到commit 7bb299狀態。

      打開文件,查看,添加信息已經不存在,

      六、還原git revert

      另一種撤銷修改的方法是執行 git revert。

      通過對特定的提交執行還原操作,我們會創建一個包含已還原修改的新提交。

      新創建文件peng.c并提交

      用git revert 撤銷修改

      由上圖所示,執行git revert 209485之后,我們新增的文件peng.c被刪除,并提交了1個新的commit 5b08d

      此前添加peng.c文件的提交還在,這樣就保留了該提交信息,提高了倉庫的兼容性。

      在撤銷特定的提交時,git revert 非常有用,同時也不會修改分支的歷史。
      在這里插入圖片描述

      七、揀選git cherry-pick

      當一個特定分支包含我們的活動分支需要的某個提交時,我們對那個提交執行 cherry-pick!

      對一個提交執行 cherry-pick 時,我們會在活動分支上創建一個新的提交,其中包含由揀選出來的提交所引入的修改。

      創建切換到cherry分支,

      git branch cherry
      git checkout cherry 
      

      在分支cherry上修改文件README.md提交幾個節點

      切回master分支

      git checkout master
      

      執行git cherry-pick b98fc77

      由上圖所示,分支cherry的commit b98fc77,被復制到分支master,并創建了1個新的提交2d995,

      通過該命令我們就可以將其他分支,需要的提交,合并到主分支master。

      posted @ 2024-09-22 23:29  一口Linux  閱讀(307)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产日韩一区二区在线| 最新国产麻豆AⅤ精品无码| 国产精品国色综合久久| 亚洲一区二区三区水蜜桃| 自拍亚洲综合在线精品| 在线免费成人亚洲av| 中文字幕日韩精品有码视频| 国产办公室秘书无码精品99| 在线中文字幕亚洲日韩2020| 国产成熟女人性满足视频| 色欲av久久一区二区三区久| 毛片亚洲AV无码精品国产午夜| 蜜臀av性久久久久蜜臀aⅴ麻豆| 日韩中文字幕国产精品| 欧美三级在线播放| 国产精品入口麻豆| 四虎精品国产永久在线观看| caoporn成人免费公开| 国内自拍偷拍福利视频看看| 中文字幕久久国产精品| 亚洲www永久成人网站| 凤庆县| 日本一区二区a√成人片| 欧美成人精品手机在线| 陕西省| 免费看国产精品3a黄的视频| 亚洲av永久无码精品秋霞电影影院| 亚洲综合国产成人丁香五| 日本一区二区三深夜不卡| 国产精品特级毛片一区二区三区 | 中国china露脸自拍性hd| 亚洲肥熟女一区二区三区| 婷婷四虎东京热无码群交双飞视频 | 国产三级精品福利久久| av无码精品一区二区乱子| 亚洲熟女乱色综合一区 | 厨房与子乱在线观看| 无码人妻丝袜在线视频| 国产午夜精品福利免费不| 日韩亚洲欧美中文高清| 男人的天堂av一二三区|