欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Git工作流模式及命令的使用講解

 更新時間:2022年04月22日 17:16:21   作者:shengzhu1  
這篇文章主要為大家介紹了Git的工作流模式及命令的使用講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Git的工作方式

分為集中式工作流、功能分支工作流、Gitflow工作流和Forking,其中集中式工作流和功能分支工作流是已經使用過的,Gitflow和Forking兩種工作流暫時沒有使用過。

集中式工作流

一個遠程倉庫,一個主分支master,團隊每個成員都有一個本地倉庫,在本地倉庫中進行代碼的編輯、暫存和提交工作:

git add <some file> 或 git add .>
//`some file`代表要暫存的文件,`.`代表工作目錄下的所有文件
gie commit -m "一些描述"
//提交文,描述指的是本次提交修改了什么功能或者修改了什么bug,方便以后的查看
git push -u origin master
//-u選項設置本地分支去跟蹤遠程對應的分支。設置好跟蹤的分支后,就可以使用git push命令省去指定推送分支的參數(shù)
//發(fā)布本地倉庫到遠程的中央倉庫中,origin是遠程倉庫名,master是參數(shù)告訴Git的分支,master代表主分支,當然分支可以不是主分支

注意:在一種情況下push命令會出錯,即如果小明第一次發(fā)布代碼到遠程倉庫,此時小紅在 本地開發(fā)自己的功能,那么在小紅push自己的本地庫到遠程的時候會報錯,原因是小紅的本地庫和遠程庫有分歧,需要先pull遠程庫到本地,與本地庫合并之后再push到遠程庫。

功能分支工作流

在集中式工作流的基礎上,為各個新功能分配一個專門的分支來開發(fā),即在master主分支外在創(chuàng)建一個分支,程序員開發(fā)的新功能全部push到此分支上,等到功能成熟的時候再把此分支合并到主分支master上

git checkout -b newbranch master
//checkout代表創(chuàng)建切換帶新分支newbranch
//-b代表如果新分支不存在則會創(chuàng)建一個新分支
//最后的master代表新分支是基于主分支創(chuàng)建的

新分支創(chuàng)建之后,對其的編輯、暫存和提交工作與之前一樣,對其push的命令變?yōu)?/p>

git push origin newbranch

等到新功能完善之后,通過以下命令:

git checkout mastergit pullgit pull origin newbranchgit push

首先git checkout master切換到主分支,然后執(zhí)行git pull把本地倉庫的主分支上傳到遠程庫,再執(zhí)行git pull origin newbranch保證合并newbranch分支和已經和遠程一致的本地master分支,你可以使用簡單git merge newbranch命令,但前面的命令可以保證總是最新的新功能分支。 最后把更新的master分支重新push到遠程庫。

Gitflow工作流

Gitflow工作流沒有用超出功能分支工作流的概念和命令,而是為不同的分支分配一個很明確的角色,并定義分支之間如何和什么時候進行交互。
除了有master主分支(用于存儲正式發(fā)布的歷史)外,還有一個作為功能集成分支的develop分支。當初始化完成后,某個程序員想要開發(fā)一個性能,并不是直接從master分支上拉出新分支,而是使用develop分支作為父分支,當新功能完成后,再合并會父分支,新功能的提交并不與master分支直接交互。


一旦develop分支上有了做一次發(fā)布(或者說快到了既定的發(fā)布日)的足夠功能,就從develop分支上checkout一個發(fā)布分支。 新建的分支用于開始發(fā)布循環(huán),所以從這個時間點開始之后新的功能不能再加到這個分支上—— 這個分支只應該做Bug修復、文檔生成和其它面向發(fā)布任務。 一旦對外發(fā)布的工作都完成了,發(fā)布分支合并到master分支并分配一個版本號打好Tag。 另外,這些從新建發(fā)布分支以來的做的修改要合并回develop分支。

維護分支

維護分支或說是熱修復(hotfix)分支用于生成快速給產品發(fā)布版本(production releases)打補丁,這是唯一可以直接從master分支fork出來的分支。 修復完成,修改應該馬上合并回master分支和develop分支(當前的發(fā)布分支),master分支應該用新的版本號打好Tag。
為Bug修復使用專門分支,讓團隊可以處理掉問題而不用打斷其它工作或是等待下一個發(fā)布循環(huán)。 你可以把維護分支想成是一個直接在master分支上處理的臨時發(fā)布。

工作流程

為master分支配套一個develop分支

git branch develop
git push -u origin develop

以后這個分支將會包含了項目的全部歷史,而master分支將只包含了部分歷史。其它開發(fā)者這時應該克隆中央倉庫,建好develop分支的跟蹤分支:

git clone ssh://user@host/path/to/repo.git
git checkout -b develop origin/develop

現(xiàn)在每個開發(fā)都有了這些歷史分支的本地拷貝。
小紅和小明開團隊成員始各自的功能開發(fā)。他們需要為各自的功能創(chuàng)建相應的分支。新分支不是基于master分支,而是應該基于develop分支:

git checkout -b some-feature develop

他們用老套路添加提交到各自功能分支上:編輯、暫存、提交:

git status
git add <some-file>
git commit

添加了提交后,功能OK了之后,如果團隊使用Pull Requests,這時候可以發(fā)起一個用于合并到develop分支。 否則她可以直接合并到她本地的develop分支后push到中央倉庫:

git pull origin develop
git checkout develop
git merge some-feature
git push
git branch -d some-feature

第一條命令在合并功能前確保develop分支是最新的。注意,功能決不應該直接合并到master分支。 沖突解決方法和集中式工作流一樣。

Forking工作流

分布式工作流,充分利用了Git在分支和克隆上的優(yōu)勢,既可以管理大團隊的開發(fā)者(developer)和接受不信任貢獻者(contributor)的提交。這種工作流使得每個開發(fā)者都有一個服務端倉庫(此倉庫只有自己可以push,但是所有人都可以pull修改),每個程序員都push代碼到自己的服務端倉庫,但不能push到正式倉庫,只有項目維護者才能push到正式倉庫,這樣項目維護者可以接受任何開發(fā)者的提交,但無需給他正式代碼庫的寫權限。
這種工作流適合網上開源社區(qū)的開源項目,大家統(tǒng)一對項目做貢獻,但是有一個人或一個團隊作為開發(fā)者來管理項目,所有的貢獻者的代碼由開發(fā)者審核,其功能完善之后再由開發(fā)者push到正式倉庫中。

Pull Request

Pull Request是一個為討論提交功能的專門論壇,是一個友好的web界面(在個人github項目中也有這樣一個選項),大家在其中做一些Code Review的工作,把結果反饋到Pull Request中,還可以在其中push新的提交微調功能,等到討論結束后醒目維護者合并所有的功能到官方倉庫中,關閉Pull Request。

發(fā)起一個Pull Request&#xff0c;就是要請求另一個開發(fā)者來pull自己倉庫的一個分支到它的倉庫中,因此需要提供四個信息:源倉庫、源分支、目的倉庫、目的分支。

Pull Request可以用于上述除了集中式工作流的其他三種工作流,因為其要求要么分支不同,要么倉庫不同,而集中式工作流只有一個倉庫,一個master分支。

例:

在功能分支工作流中使用Pull Request

功能分支工作流只有一個公開的倉庫,所以Pull Request的目的倉庫和源倉庫總是同一個。 通常開發(fā)者會指定他的功能分支作為源分支,master分支作為目的分支。

收到Pull Request后,項目維護者要決定如何做。如果功能沒問題,就簡單地合并到master分支,關閉Pull Request。但如果提交的變更有問題,他可以在Pull Request中反饋。之后新加的提交也會評論之后接著顯示出來。

在功能還沒有完全開發(fā)完的時候,也可能發(fā)起一個Pull Request。 比如開發(fā)者在實現(xiàn)某個需求時碰到了麻煩,他可以發(fā)一個包含正在進行中工作的Pull Request。 其它的開發(fā)者可以在Pull Request提供建議,或者甚至直接添加提交來解決問題。

參考:http://shouce.jb51.net/gitbook/Distributed-Git/Distributed-Workflows.html

以上就是Git工作流模式及命令的使用講解的詳細內容,更多關于Git的工作流模式命令使用的資料請關注腳本之家其它相關文章!

相關文章

  • 編程趣事:當下流行編程語言的”討厭”程度排行榜

    編程趣事:當下流行編程語言的”討厭”程度排行榜

    這篇文章主要介紹了編程趣事:當下流行編程語言的”討厭”程度排行榜,和小編的感覺一樣,需要的朋友可以參考下
    2014-07-07
  • 神兵利器系列之nessus8.8安裝破解使用教程

    神兵利器系列之nessus8.8安裝破解使用教程

    Nessus?是全世界最多人使用的系統(tǒng)漏洞掃描與分析工具。總共有超過75,000個機構使用Nessus?作為掃描該機構電腦系統(tǒng)。本文給大家分享神兵利器系列之nessus8.8安裝破解使用教程,感興趣的朋友一起看看吧
    2022-01-01
  • 基于ChatGPT使用AI實現(xiàn)自然對話的原理分析

    基于ChatGPT使用AI實現(xiàn)自然對話的原理分析

    ChatGPT是當前自然語言處理領域的重要進展之一,可以生成高質量的文本,可應用于多種場景,如智能客服、聊天機器人、語音助手等。本文將詳細介紹ChatGPT的原理、實戰(zhàn)演練和流程圖,幫助讀者更好地理解ChatGPT技術的應用和優(yōu)勢
    2023-05-05
  • 微信小程序(微信應用號)開發(fā)工具0.9版安裝詳細教程

    微信小程序(微信應用號)開發(fā)工具0.9版安裝詳細教程

    這篇文章主要介紹了微信小程序(微信應用號)開發(fā)工具0.9版安裝詳細教程的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • 圖像檢索之IF-IDF,RootSift,VLAD

    圖像檢索之IF-IDF,RootSift,VLAD

    TF-IDF是一種用于信息檢索的常用加權技術,在文本檢索中,用以評估詞語對于一個文件數(shù)據庫中的其中一份文件的重要程度,本文給大家介紹下圖像檢索之IF-IDF,RootSift,VLAD的相關知識,感興趣的朋友一起看看吧
    2021-12-12
  • 開發(fā)人員一定要加入收藏夾的網站 推薦

    開發(fā)人員一定要加入收藏夾的網站 推薦

    開發(fā)人員一定要加入收藏夾的網站,比較不錯。大家可以參考一下。
    2009-11-11
  • Delphi - Indy idMessage和idSMTP實現(xiàn)郵件的發(fā)送

    Delphi - Indy idMessage和idSMTP實現(xiàn)郵件的發(fā)送

    這篇文章主要介紹了Delphi - Indy idMessage和idSMTP實現(xiàn)郵件的發(fā)送,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • 自動駕駛網絡到底是什么

    自動駕駛網絡到底是什么

    自動駕駛網絡(Self-Driving Network)是一種可預測并具有自主運行能力的網絡。簡單理解華為還是做IT基礎設施的網絡產品,只不過就是“網絡”的自動駕駛。那網絡的自動駕駛是什么?這個問題,每個人都有自己的理解,接下來我將來回答一下這個問題。
    2021-05-05
  • 解析jetbrains IDE的插件加載不出來的問題(IDEA、pycharm等)

    解析jetbrains IDE的插件加載不出來的問題(IDEA、pycharm等)

    這篇文章主要介紹了解析jetbrains IDE的插件加載不出來(IDEA、pycharm等),本文給大家分享解決方案,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 比較經典技術普及帖 以你剛才在淘寶上買了一件東西

    比較經典技術普及帖 以你剛才在淘寶上買了一件東西

    你發(fā)現(xiàn)快要過年了,于是想給你的女朋友買一件毛衣,你打開了taobao。這時你的瀏覽器首先查詢DNS服務器,將taobao轉換成ip地址
    2012-06-06

最新評論