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