欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Git分支管理——?jiǎng)?chuàng)建、合并、刪除分支-創(chuàng)新互聯(lián)

前言:

幾乎所有的版本控制都以某種形式支持分支。使用分支意味著你可以把你的工作從開發(fā)主線上分離開來,以免影響開發(fā)主線。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、網(wǎng)站建設(shè)與策劃設(shè)計(jì),鼓樓網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:鼓樓等地區(qū)。鼓樓做網(wǎng)站價(jià)格咨詢:18982081108

Git的分支模型成稱為它的“必殺技特性”,也正因?yàn)檫@一特性,使得Git從眾多版本控制系統(tǒng)中脫穎而出。Git處理分支的方式是難以置信的輕量,創(chuàng)建新的分支這一操作是秒級(jí)完成的,并且在不同分支之間的切換操作也是一樣便捷。

Git的分支,其實(shí)本質(zhì)上僅僅是指向提交對(duì)象的可變指針。Git的默認(rèn)分支是master。在多次提交操作之后,其實(shí)我們已經(jīng)有一個(gè)指向最后那個(gè)提交對(duì)象的master分支。他會(huì)在每次的提交操作中自動(dòng)向前移動(dòng)。

實(shí)際工作中我們可能會(huì)遇到一個(gè)下面這個(gè)情況:

  • 開發(fā)某個(gè)網(wǎng)站。
  • 為實(shí)現(xiàn)某個(gè)新的需求,創(chuàng)建一個(gè)分支。
  • 在這個(gè)分支上開展工作。
  • 正在此時(shí),你突然接到一個(gè)電話說有個(gè)很嚴(yán)重的問題需要緊急修補(bǔ)。 你將按照如下方式來處理:
  • 切換到你的線上分支(production branch)。
  • 為這個(gè)緊急任務(wù)新建一個(gè)分支,并在其中修復(fù)它。
  • 在測(cè)試通過之后,切換回線上分支,然后合并這個(gè)修補(bǔ)分支,最后將改動(dòng)推送到線上分支。
  • 修改后切換回你最初工作的分支上,繼續(xù)工作。

關(guān)于git的更多介紹,還是移步其官方文檔吧!


博文大綱:
1、初始化一個(gè)目錄并聲明用戶及郵箱地址
2、創(chuàng)建、快速合并及刪除分支
3、解決分支沖突問題
4、關(guān)閉快速合并
5、Bug分支
6、Git分支管理相關(guān)命令

1、初始化一個(gè)目錄并聲明用戶及郵箱地址

[root@git ll]# git init
[root@git ll]# git config --global user.name admin
[root@git ll]# git config --global user.email admin@admin.com

2、創(chuàng)建、快速合并及刪除分支

[root@git ll]# echo "aaaa" > branch.txt
[root@git ll]# git add branch.txt
[root@git ll]# git commit -m "第一次提交 From master"
#創(chuàng)建一個(gè)分支并進(jìn)入新建的分支
[root@git ll]# git checkout -b dev
[root@git ll]# git branch       #查看當(dāng)前所在分支
* dev           #星號(hào)所在的列就是當(dāng)前所在分支
  master
#在dev分支更新文件并提交
[root@git ll]# echo "bbbb" >> branch.txt 
[root@git ll]# git add *
[root@git ll]# git commit -m "commit From dev branch"
[root@git ll]# cat branch.txt      #確認(rèn)當(dāng)前內(nèi)容
aaaa
bbbb
[root@git ll]# git checkout master       #切換到master分支
[root@git ll]# cat branch.txt       #確認(rèn)當(dāng)前內(nèi)容
aaaa
[root@git ll]# git merge dev        #合并dev分支
[root@git ll]# cat branch.txt    #再次查看其內(nèi)容
aaaa
bbbb
[root@git ll]# git log --graph --pretty=oneline --abbrev-commit   #查看提交日志
#可以查看到其提交日志前面的星號(hào)是在同列的,這是因?yàn)椴捎玫氖强焖俸喜⒌姆椒ǎJ(rèn))
#稍后會(huì)寫下關(guān)閉快速合并,然后可以對(duì)比該命令查看的結(jié)果
* bc8bd7b commit From dev branch
* 8bb6874 第一次提交 From master
[root@git ll]# git branch -d dev       #刪除dev分支

3、解決分支沖突問題

在我們實(shí)際工作中會(huì)遇到一個(gè)分支沖突的問題,就是當(dāng)你在工作分支dev下對(duì)文件內(nèi)容進(jìn)行了修改,然后在你提交到版本庫前,master分支下的內(nèi)容已經(jīng)發(fā)生了改變,此時(shí),你dev分支下的內(nèi)容是比master下的內(nèi)容要舊,這種情況下進(jìn)行分支合并,會(huì)有一個(gè)分支沖突的概念,栗子如下:

[root@git ll]# cat branch.txt      #查看master分支的此文件內(nèi)容
aaaa
[root@git ll]# git checkout -b dev        #創(chuàng)建并切換至自己的工作分支
 #對(duì)文件內(nèi)容進(jìn)行修改并提交到版本庫
[root@git ll]# echo "bbbb" >> branch.txt   
[root@git ll]# git add branch.txt
[root@git ll]# git commit -m "alter from dev"
[root@git ll]# cat branch.txt     #查看文件內(nèi)容
aaaa
bbbb
[root@git ll]# git checkout master     #切換至master
[root@git ll]# cat branch.txt      #master下的文件內(nèi)容還是原來的
aaaa
#修改master下的文件內(nèi)容并提交
[root@git ll]# echo "cccc" >> branch.txt 
[root@git ll]# git add branch.txt
[root@git ll]# git commit -m "alter from master"
[root@git ll]# cat branch.txt     #此時(shí)master下的文件內(nèi)容如下
aaaa
cccc
#接下來將dev分支進(jìn)行合并:
[root@git ll]# git merge dev        #返回如下報(bào)錯(cuò)信息,說有沖突
自動(dòng)合并 branch.txt
沖突(內(nèi)容):合并沖突于 branch.txt
自動(dòng)合并失敗,修正沖突然后提交修正的結(jié)果。

#解決合并沖突
#其實(shí)有上述報(bào)錯(cuò)后,dev分支下的內(nèi)容已經(jīng)存在了master目錄下的文件中,只是沒有提交而已,提交即可
#但是工作中不建議直接提交,因?yàn)閮?nèi)容有些特殊的地方
[root@git ll]# vim branch.txt       #此時(shí)文件的內(nèi)容如下

aaaa
<<<<<<< HEAD
cccc
=======
bbbb
>>>>>>> dev
[root@git ll]# cat branch.txt   #將沖突報(bào)錯(cuò)產(chǎn)生的特殊符號(hào)刪除再提交
aaaa
cccc
bbbb
[root@git ll]# git add branch.txt
[root@git ll]# git commit -m "沖突已解決"
[root@git ll]# git log --graph --pretty=oneline --abbrev-commit   #查看分支合并情況
*   da2bcdb 沖突已解決
|\  
| * 6abac82 alter from dev
* | 2b5d2f0 alter from master
|/  
* ef014ec alter from master

4、關(guān)閉快速合并

在上面說到,在查看git版本的提交歷史時(shí),其分支結(jié)構(gòu)表現(xiàn)的不是那么直觀,那是因?yàn)槟J(rèn)開啟了快速合并的選項(xiàng),這里寫下如何關(guān)閉快速合并。

#進(jìn)入分支,修改文件內(nèi)容,并提交
[root@git ll]# git checkout -b dev
[root@git ll]# echo "ffff" >> branch.txt 
[root@git ll]# git add branch.txt
[root@git ll]# git commit -m "關(guān)閉快速合并"
#切換至master分支,進(jìn)行合并
[root@git ll]# git checkout master 
[root@git ll]# git merge --no-ff -m "分支合并說明" dev    #選項(xiàng)“--no--ff”就是關(guān)閉快速合并
[root@git ll]# git log --graph --pretty=oneline --abbrev-commit 
#再次查看提交日志,
*   38c4fad Merge branch 'dev'
|\  
| * 9233297 關(guān)閉快速合并
|/  
*   7e0ea1b 沖突已解決    #從這里開始向上看,可以看到是經(jīng)過一個(gè)分支才提交的
|\  
| * f9180c9 alter from dev
* | 107081a alter from branch/bug
|/  
#以下是最初沒有關(guān)閉快速合并的分支合并操作,可以看到只有一列星號(hào),而不顯示分支
* bc8bd7b commit From dev branch          
* 8bb6874 第一次提交 From master
[root@git ll]# git branch -d dev       #刪除dev分支

5、Bug分支

開發(fā)人員在開發(fā)過程中,bug就像家常便飯一樣,有了bug就要修復(fù),在git中,由于分支是強(qiáng)大的,所以都可以通過一個(gè)新的臨時(shí)分支來修復(fù)bug,修復(fù)后,分支合并,然后將臨時(shí)分支刪除。

當(dāng)我們接到一個(gè)修改bug的任務(wù)后,很自然的想要?jiǎng)?chuàng)建一個(gè)分支來修復(fù)它,但是當(dāng)前正在進(jìn)行的工作進(jìn)行到一半,還無法提交,但又需要馬上修復(fù)bug,此時(shí),可以通過git提供的stash功能,可以把當(dāng)前工作區(qū)“儲(chǔ)藏”起來,等以后恢復(fù)現(xiàn)場(chǎng)后繼續(xù)工作。

工作進(jìn)行到一半時(shí)工作區(qū)的狀態(tài)如下:
[root@git ll]# cat branch.txt 
aaaa
cccc
bbbb
[root@git ll]# echo "dddd" >> branch.txt 
[root@git ll]# git status     #提示修改但是尚未提交
# 位于分支 dev
# 尚未暫存以備提交的變更:
#   (使用 "git add <file>..." 更新要提交的內(nèi)容)
#   (使用 "git checkout -- <file>..." 丟棄工作區(qū)的改動(dòng))
#
#   修改:      branch.txt
#
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
將此時(shí)的工作區(qū)隱藏起來
[root@git ll]# git stash        #就是這條命令,可以將當(dāng)前工作區(qū)隱藏
[root@git ll]# git status        #再次查看當(dāng)前工作區(qū),就是干凈的了
# 位于分支 dev
無文件要提交,干凈的工作區(qū)
[root@git ll]# cat branch.txt       #文件也沒有我們新加的內(nèi)容
aaaa
cccc
bbbb
假設(shè)在master分支上修復(fù)bug
#切換至master分支并進(jìn)入bug分支修改
[root@git ll]# git checkout master 
[root@git ll]# git checkout -b bug
[root@git ll]# echo "eeee" >> branch.txt 
[root@git ll]# git add branch.txt
[root@git ll]# git commit -m "alter from bug"
#切換至master分支合并修改后的bug分支
[root@git ll]# git checkout master 
[root@git ll]# git merge bug 
[root@git ll]# cat branch.txt       #合并后的文件內(nèi)容如下
aaaa
cccc
bbbb
eeee
[root@git ll]# git branch -d bug      #刪除bug分支
#回到dev分支恢復(fù)之前修改的內(nèi)容繼續(xù)自己的工作
#有兩種恢復(fù)方法:
#一是使用 git stash apply 恢復(fù),但是恢復(fù)后,stash 內(nèi)容并不刪除,需要用 git stash drop 來刪除;
#另一種方式是用 git stash pop,恢復(fù)的同時(shí)把 stash 內(nèi)容也刪了;這里我采用第二種方法
[root@git ll]# git stash pop        #恢復(fù)存儲(chǔ)區(qū)的內(nèi)容
[root@git ll]# cat branch.txt     #我們之前的內(nèi)容又回來了
aaaa
cccc
bbbb
dddd
#最后工作完成,在合并dev分支的時(shí)候,也會(huì)有分支沖突,可以參考前面解決分支沖突的方法

6、Git分支管理相關(guān)命令

[root@git ll]# git checkout -b ops    #創(chuàng)建ops分支并切換到ops分支
[root@git ll]# git checkout master     #切換至master分支
[root@git ll]# git merge dev     #快速合并dev分區(qū)到當(dāng)前分支
[root@git ll]# git branch -d ui       #刪除ui分支
[root@git ll]# git branch        #查看所在分支(用星號(hào)表示所在分支)
[root@git ll]# git log --graph --pretty=oneline --abbrev-commit 
#查看分支合并圖
[root@git ll]# git merge --no-ff -m "合并時(shí)提交信息" dev   #不使用快速合并分支
[root@git ll]# git stash        #將當(dāng)前版本庫的狀態(tài)臨時(shí)存儲(chǔ)
[root@git ll]# git stash pop   #恢復(fù)并刪除臨時(shí)存儲(chǔ)的信息
[root@git ll]# git stash apply    #恢復(fù)臨時(shí)存儲(chǔ)信息,但不刪除信息
[root@git ll]# git stash drop     #刪除臨時(shí)存儲(chǔ)中的信息
[root@git ll]# git stash show     #查看臨時(shí)存儲(chǔ)的信息
[root@git ll]# git branch -D dev       #強(qiáng)制刪除一個(gè)分支
[root@git ll]# git remote       #查看當(dāng)前版本庫是否屬于遠(yuǎn)程版本庫
[root@git ll]# git remote -v    #查看遠(yuǎn)程版本庫的詳細(xì)信息
[root@git ll]# git push origin dev     #將本地dev分支推送到遠(yuǎn)程倉庫
[root@git ll]# git checkout -b dev origin/dev   #創(chuàng)建本地dev分支并關(guān)聯(lián)到遠(yuǎn)程倉庫的dev分支
[root@git ll]# git pull    #抓取遠(yuǎn)程分支,一般用于解決沖突
[root@git ll]# git branch --set-upstream-to=origin/dev dev   #將本地分支dev關(guān)聯(lián)到遠(yuǎn)程倉庫的dev分支

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享標(biāo)題:Git分支管理——?jiǎng)?chuàng)建、合并、刪除分支-創(chuàng)新互聯(lián)
鏈接分享:http://chinadenli.net/article26/dhjsjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作、云服務(wù)器網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司