摘要:所有提供給用戶使用的正式版本,都在這個主分支上發(fā)布。如果想正式對外發(fā)布,就在分支上,對分支進(jìn)行合并。為了保證版本演進(jìn)的清晰,我們希望采用這種做法。開發(fā)完成后,要再并入。修補結(jié)束以后,再合并進(jìn)和分支。
?## 基礎(chǔ)分支
master 主分支
develop 開發(fā)分支
feature 功能分支
release 預(yù)發(fā)布分支
fixbug 修補分支
說明:臨時分支命名形式feature-x,release-0.0,fixbug-x
0.檢出倉庫
git clone /path/to/repository #如果是遠(yuǎn)程服務(wù)器上的代碼庫,則: git clone username@host:/path/to/repository
1.添加與提交
#添加到緩沖區(qū) git add * #提交代碼更改 git commit -m"代碼提交信息" #推送到服務(wù)器 git push origin master
2.分支
#創(chuàng)建分支 git checkout -b feature_x #切換回主分支 git checkout master #刪除新建的分支 git branch -d feature_x #分支推送到服務(wù)器 git push origin
3.更新與合并
#更新至最新版本 git pull #合并其他分支到你的當(dāng)前分支 git merge#如果出現(xiàn)沖突,需要正確合并這些沖突,完畢后 git add #查看差異 git diff
4.標(biāo)簽
git tag 1.0.0 1b3e2d3gdjd #查看提交ID git log
5.替換本地改動
git checkout --主分支Master#假如你想要丟棄你所有的本地改動與提交,可以到服務(wù)器上獲取最新的版本并將你本地主分支指向到它 git fetch origin git reset --hard origin/master
代碼庫應(yīng)該有一個、且僅有一個主分支。所有提供給用戶使用的正式版本,都在這個主分支上發(fā)布。Git主分支的名字,默認(rèn)叫做Master。它是自動建立的,版本庫初始化以后,默認(rèn)就是在主分支在進(jìn)行開發(fā)。開發(fā)分支Develop
主分支只用來分布重大版本,日常開發(fā)應(yīng)該在另一條分支上完成。我們把開發(fā)用的分支,叫做Develop。這個分支可以用來生成代碼的最新隔夜版本(nightly)。如果想正式對外發(fā)布,就在Master分支上,對Develop分支進(jìn)行"合并"(merge)。 # Git創(chuàng)建Develop分支的命令:
git checkout -b develop master
# 將Develop分支發(fā)布到Master分支的命令:
# 切換到Master分支
git checkout master
# 對Develop分支進(jìn)行合并
git merge --no-ff develop
#這里稍微解釋一下,上一條命令的--no-ff參數(shù)是什么意思。默認(rèn)情況下,Git執(zhí)行"快進(jìn)式合并"(fast-farward merge),會直接將Master分支指向Develop分支。 #使用--no-ff參數(shù)后,會執(zhí)行正常合并,在Master分支上生成一個新節(jié)點。為了保證版本演進(jìn)的清晰,我們希望采用這種做法。關(guān)于合并的更多解釋,請參考Benjamin Sandofsky的《Understanding the Git Workflow》。功能分支
它是為了開發(fā)某種特定功能,從Develop分支上面分出來的。開發(fā)完成后,要再并入Develop。 #功能分支的名字,可以采用feature-*的形式命名。 #創(chuàng)建一個功能分支:
git checkout -b feature-x develop
#開發(fā)完成后,將功能分支合并到develop分支:
git checkout develop
git merge --no-ff feature-x
#刪除feature分支:
git branch -d feature-x
預(yù)發(fā)布分支它是指發(fā)布正式版本之前(即合并到Master分支之前),我們可能需要有一個預(yù)發(fā)布的版本進(jìn)行測試。預(yù)發(fā)布分支是從Develop分支上面分出來的,預(yù)發(fā)布結(jié)束以后,必須合并進(jìn)Develop和Master分支。它的命名,可以采用release-*的形式。 #創(chuàng)建一個預(yù)發(fā)布分支 git checkout -b release-1.2 develop #確認(rèn)沒有問題后,合并到master分支 git checkout master
git merge --no-ff release-1.2
# 對合并生成的新節(jié)點,做一個標(biāo)簽
git tag -a 1.2
#再合并到develop分支 git checkout develop
git merge --no-ff release-1.2
#最后,刪除預(yù)發(fā)布分支 git branch -d release-1.2修補Bug分支
軟件正式發(fā)布以后,難免會出現(xiàn)bug。這時就需要創(chuàng)建一個分支,進(jìn)行bug修補。修補bug分支是從Master分支上面分出來的。修補結(jié)束以后,再合并進(jìn)Master和Develop分支。它的命名,可以采用fixbug-*的形式。 #創(chuàng)建一個修補bug分支: git checkout -b fixbug-0.1 master 修補結(jié)束后,合并到master分支:
git checkout master
git merge --no-ff fixbug-0.1
git tag -a 0.1.1
#再合并到develop分支:
git checkout develop
git merge --no-ff fixbug-0.1
#最后,刪除"修補bug分支":
git branch -d fixbug-0.1
建議新手閱讀這篇文章http://rogerdudler.github.com/git-guide/index.zh.html分子合并模式 添加一個遠(yuǎn)程版本庫
git remote add smartdevelop https://github.com/smartdevel...
獲取遠(yuǎn)程版本庫gotgithub的分支和提交git fetch smartdevelop
將遠(yuǎn)程分支合并到當(dāng)前分支中git merge smartdevelop/master
git merge smartdevelop/develop 提交到本地倉庫git add *
git commit -m""
git push
本地拉取倉庫git pull
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/83880.html
摘要:容易理解創(chuàng)建一個構(gòu)造函數(shù)并使用該函數(shù)和操作符初始化對象。被繼承的對象被稱作原型,并且繼承的屬性可能通過構(gòu)造函數(shù)的對象找到。 This is my first blood! 第一次在segmentfault上寫(chao)文章。 內(nèi)容提要:認(rèn)(wu)真(liao)的整理一下javascript對象的知識,人家還是菜鳥,必須要搞懂啊。 PS:1.真的菜,所以看到文章的同學(xué),推薦采用隨緣閱讀...
摘要:官方默認(rèn)項目是存放了一個為的打開文件夾有一個,還有一個名為組件的文件夾,里面放了一個文件。部分我們會發(fā)現(xiàn)這幾排字就是顯示在頁面的幾排文字部分這其中的這個文件引入了,還有上述的。結(jié)合查詢其他說法,就是說它會把是的元素以形式替換。 前言 我很早就想來學(xué)習(xí)學(xué)習(xí)vue.js啦,終于有了那么一些空閑的時間可以拿來學(xué)習(xí),于是從前天開始我就每天抽一個多小時來體驗vue.js。當(dāng)然啦,因為是小白入門,...
摘要:為什么會產(chǎn)生閉包究其根本,是因為代表的函數(shù)包含的作用域。而在作用域鏈中,外部函數(shù)的活動對象始終處于第二位,外部函數(shù)的外部函數(shù)的活動對象處于第三位直到作為作用域鏈終點的全局執(zhí)行環(huán)境。 前言 此文的內(nèi)容主要是來自看書的總結(jié)+小小的實踐哦~會不斷更新總結(jié)。 什么是閉包 書上是這樣定義閉包的: 有權(quán)訪問另一個函數(shù)作用域中變量的函數(shù)。 舉一個例子: function test(){ va...
摘要:本文將繼續(xù)介紹簡單的增刪改查方法和對對象實例狀態(tài)的理解查詢方法暫不提及。二實例狀態(tài)中的對象有中狀態(tài)瞬時對象持久化對象和離線對象也叫做脫管對象。持久化狀態(tài)已經(jīng)被持久化,并且加入到緩存中。處于游離狀態(tài)的對象稱為游離對象。 在上一篇《初識Hibernate》中簡單介紹了在Hibernate如何加載對象和持久化對象,以及Hibernate中對象實例狀態(tài)。本文將繼續(xù)介紹Hibernate簡單的增...
摘要:之銀彈技法下文這些淫巧在之前自認(rèn)為是居家必備,裝逼撩妹的必備之物,博主一直敝帚自珍,不愿拿出來分享,現(xiàn)如今,極盡能事,我知道再不拿出來就在沒有價值了來由博主入行前端寫時候,因為需要兼容低版本,時常需要在繁雜冗長的操作夾雜的代碼中,盡可能巧妙 JavaScript 之銀彈の技法 下文這些淫巧在之前自認(rèn)為是居家必備,裝逼撩妹的必備之物,博主一直敝帚自珍,不愿拿出來分享,現(xiàn)如今,ES6+極盡...
閱讀 454·2024-11-07 18:25
閱讀 130763·2024-02-01 10:43
閱讀 944·2024-01-31 14:58
閱讀 904·2024-01-31 14:54
閱讀 83007·2024-01-29 17:11
閱讀 3265·2024-01-25 14:55
閱讀 2059·2023-06-02 13:36
閱讀 3167·2023-05-23 10:26