国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Git工作流

這篇具有很好參考價值的文章主要介紹了Git工作流。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

實際開發(fā)項目使用到的分支:

main:生產環(huán)境,也就是你們在網上可以下載到的版本,是經過了很多輪測試得到的穩(wěn)定版本。
release: 開發(fā)內部發(fā)版,也就是測試環(huán)境。
dev:所有的feature都要從dev上checkout。
feature:每個需求新創(chuàng)建的分支。
下面介紹一下一個新需求過來的git操作流程:
1.從dev分支上checkout -b new-feature,進行開發(fā)
2.開發(fā)完后,經過自測沒問題了,準備發(fā)版
3.merge到release分支上進行發(fā)版,并打tag
4.有bug就直接在release上進行修改,改完再次發(fā)版,打tag,直到測試人員驗證完畢
5.這時可以將release分支合并到dev上,也可以刪除掉feature分支了,并等待通知是否將此功能上線(發(fā)布正式版本,也就是在正式服務器上運行),如果上線,那就merge到main(master)分支,當然了有可能需要將ip改為生產服務器的地址,并打上一個official tag。
6.如果上線后,發(fā)現(xiàn)有bug,如果此時main分支已經又合并上新功能B了,但是這個臨時的版本又不想包含B的功能,那么可以切換到上次的official tag,checkout -b一個hotfix分支進行bug修復,hotfix分支要進行保留,不能刪除。測試沒問題就可以發(fā)版了,最后可以合并到main上。
一般的項目這套流程應該就足夠了。所有的發(fā)版tag都會集中到release,main,hotfix分支上,所有的需求都會從dev上拉取,這樣能保證代碼是完整可用的,是經過每次release合并過來的

指令及其含義

  • git checkout -b xxx:git checkout xxx是指切換到xxx(用local區(qū)的xxx替換disk區(qū)文件),-b意味著branch,即創(chuàng)建新分支,這條指令合起來意思是創(chuàng)建并切換到xxx。
  • git diff:查看暫存區(qū)與disk區(qū)文件的差異。
  • git add xxx:將xxx文件添加到暫存區(qū)。
  • git commit:將暫存區(qū)內容添加到local區(qū)的當前分支中。
  • git push :將local區(qū)的LocalBranchName分支推送到RemoteHostName主機的同名分支。(若加-f表示無視本地與遠程分支的差異強行push)
  • git pull :同上,不過改成從遠程主機下載遠程分支并與本地同名分支合并。
  • git rebase xxx:假設當前分支與xxx分支存在共同部分common,該指令用xxx分支包括common在內的整體替換當前分支的common部分(原先xxx分支內容為common->diversityA,當前分支內容為common->diversityB,執(zhí)行完該指令后當前分支內容為common->diversityA->diversityB)。
  • git branch -D xxx:不加-D表示創(chuàng)建新local分支xxx,加-D表示強制刪除local分支xxx。

工作流一:

Git工作流,Git(xx-xuxin),git

  1. git clone remote// 到本地
  2. git checkout -b feature 切換至新分支feature ,沒有就創(chuàng)建
  3. 修改或者添加本地代碼(部署在硬盤的源文件上)
  4. git diff 查看自己對代碼做出的改變
  5. git add 上傳更新后的代碼至暫存區(qū)
  6. git commit 可以將暫存區(qū)里更新后的代碼更新到本地git
  7. git push origin feature將本地的feature分支上傳至github上的git

如果在寫自己的代碼過程中發(fā)現(xiàn)遠端GitHub上master分支代碼出現(xiàn)改變

  1. git checkout master切換回master分支
  2. git pull origin master將遠端修改過的代碼再更新到本地
  3. git checkout feature回到feature分支
  4. git rebase master把我的修改先都放在一邊,然后把master最新的修改拿過來,接著在這個最新修改的基礎之上,再把我的commit嘗試弄回去,中途可能會出現(xiàn)rebase conflict手動選擇保留哪段代碼,就相當于我們在最新的master分支上做了修改 ,這也是使用rebase而不是使用merge的好處
  5. git push -f origin feature把rebase后并且更新過的代碼再push到遠端github上,由于做了rebase所以需要加上-f ,-f表示強行,強行push
  6. 把更新的代碼合并到遠程master分支里面,pull request的意思是request項目的主人把我這個新的分支的改變給pull到這個項目里去。原項目主人采用pull request 中的 squash and merge 合并所有不同的commit

遠端完成更新后

  1. github刪除個人遠程分支feature
  2. 本地切換到主分支git checkout master && git branch -d feature刪除本地的git分支
  3. git pull origin master 再把遠端的最新代碼拉至本地,這時我們的本地倉庫就又和遠程一樣了。

工作流二:

遠程倉庫有兩個master和test分支

  1. git clone remote克隆倉庫
  2. git checkout -b feature切換分支,沒有就會新創(chuàng)建并切換
  3. 編寫代碼并提交本地倉庫
  4. 推送到遠程test分支
  5. git checkout -b test origin/test意思是切換一個分支,如果分支不存在就會創(chuàng)建并切換到test分支,后面origin/test是指從遠程test克隆下來,并與本地test分支建立聯(lián)系,這時,文件里沒有新編寫的代碼。
  6. 切換到feature分支使用git log查看提交歷史記錄,記錄以前提交的哈希值
  7. 切換到test分支,使用git cherry-pick 哈希值,這時代碼就同步過來了,可以再次使用git log查看。
  8. git push到遠程test分支
  9. 同步到遠程master分支,如果此時遠程master分支有更新,需要切換到master分支使用git pull保證本地master分支是最新的,然后使用git cherry-pick 哈希值,這時代碼就同步過來了,可以再次使用git log查看,再push到遠程分支。

工作流三: git pull(本地push之前先執(zhí)行pull,拉取最新代碼,解決沖突防止覆蓋他人最新提交的代碼)

  1. 本地修改代碼,遠程也更新代碼,產生沖突
  2. 使用git pull后需要手動merge
  3. git add .
  4. git commit -m “合并沖突”
  5. git push
  6. git log --graph
    Git工作流,Git(xx-xuxin),git

缺點:提交記錄出現(xiàn)分叉,出現(xiàn)很多奇怪的提交記錄。

工作流四: git pull --rebase優(yōu)化提交記錄

現(xiàn)象:提交記錄出現(xiàn)分叉,出現(xiàn)很多奇怪的提交記錄。

業(yè)務場景:

在本地分支完成了我功能的開發(fā),現(xiàn)在需要合并到test 分支上,于是我的目標是在test 分支上執(zhí)行git cherry-pick操作將我的代碼檢出到test上,因為我要避免有人更新過test分支,所以我在此之前先執(zhí)行了一下git pull ,出現(xiàn)了一個Merge的vi窗口(過去我一直沒注意, 直接就wq出去
.了),其實這個就是導火索! vi窗口如下:
Git工作流,Git(xx-xuxin),git

原因

git pull 其實是一個組合操作,其會執(zhí)行git fetch + git merge (過去其實完全不知道) , 因為
有git merge的存在,所以最后的提交記錄看起來就會很亂。

解決方案

使用git pull --rebase 來進行合并本地和遠程分支。既可以完美解決這個問題!
git pull --rebase 也是一個組合操作, 其會執(zhí)行git fetch + git rebase ,我們知道git rebase 就
是解決凌亂記錄的一個大殺器,所以可以完美的解決!

  1. 本地修改代碼,遠程也更新代碼,產生沖突
  2. 使用git pull --rebase origin test需要手動處理沖突
    Git工作流,Git(xx-xuxin),git
    current change變?yōu)榱诉h程,意味著更新版本是以遠程為基礎的大的提交,不會是含有本地每次小的提交。
  3. git add .
  4. git rebase --continue
  5. wq即可
  6. git push
  7. git log --graph
    Git工作流,Git(xx-xuxin),git
    這樣操作之后我們的提交記錄就是非常干凈的一條鏈路了!
    Git工作流,Git(xx-xuxin),git
    補充:
git log --graph

更加清晰的結構查看log記錄。文章來源地址http://www.zghlxwxcb.cn/news/detail-690893.html

到了這里,關于Git工作流的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 一步到位!快速精通Git工作流及實戰(zhàn)技巧詳解

    一步到位!快速精通Git工作流及實戰(zhàn)技巧詳解

    Git是一個分布式版本控制系統(tǒng)。 1.備份 小明負責的模塊就要完成了,就在即將release之前的一瞬間,電腦突然藍屏。硬盤光榮犧牲!幾個月來的努力付之東流。 場景二:代碼還原 這個項目中需要一個很復雜的功能,老王摸索了一個星期終于有眉目了,可是這被改得面目全非的

    2024年03月15日
    瀏覽(28)
  • Git之GitFlow工作流 | Gitflow Workflow(萬字整理,已是最詳)

    Git之GitFlow工作流 | Gitflow Workflow(萬字整理,已是最詳)

    目錄 ?? 寫在前面 一、 GitFlow 介紹 1.1 什么是 GitFlow 1.2 GitFlow 常用分支說明 1.3 Git flow中的分支介紹 1.3.1 主要分支(Master) 1.3.2 開發(fā)分支(Develop) 1.3.3 功能分支(Feature) 1.3.4 預發(fā)分支(Release) 1.3.5?熱修復分支(Hotfix) 1.4 GitFlow 工作流程 二、GitFlow 實踐 2.1 創(chuàng)建 develop 分支

    2024年02月17日
    瀏覽(20)
  • github使用workflow工作流git push后自動打包部署github pages

    github使用workflow工作流git push后自動打包部署github pages

    根目錄新建.github/workflows/docs.yml .github/workflows/ 目錄是用于存放 GitHub Actions 工作流程文件的目錄,該目錄的文件名必須以 .yml 或 .yaml 為后綴名,否則 GitHub 將無法識別該文件為工作流程文件。這些工作流程文件可用于自動化執(zhí)行項目中的各種任務,例如構建、測試、部署等。

    2024年02月10日
    瀏覽(35)
  • 【工作流】Activiti工作流簡介以及Spring Boot 集成 Activiti7

    【工作流】Activiti工作流簡介以及Spring Boot 集成 Activiti7

    什么是工作流? 工作流指通過計算機對業(yè)務流程進行自動化管理,實現(xiàn)多個參與者按照預定義的流程去自動執(zhí)行業(yè)務流程。 文章源碼托管:https://github.com/OUYANGSIHAI/Activiti-learninig Activiti5是由Alfresco軟件在2010年5月17日發(fā)布的業(yè)務流程管理(BPM)框架,它是覆蓋了業(yè)務流程管理、

    2024年02月08日
    瀏覽(32)
  • 云原生離線工作流編排利器 -- 分布式工作流 Argo 集群

    云原生離線工作流編排利器 -- 分布式工作流 Argo 集群

    作者:莊宇 在現(xiàn)代的軟件開發(fā)和數(shù)據(jù)處理領域,批處理作業(yè)(Batch)扮演著重要的角色。它們通常用于數(shù)據(jù)處理,仿真計算,科學計算等領域,往往需要大規(guī)模的計算資源。隨著云計算的興起,阿里云批量計算和 AWS Batch 等云服務提供了管理和運行這些批處理作業(yè)的平臺。 隨

    2024年01月24日
    瀏覽(28)
  • Camunda 7工作流引擎 API 以及與Springboot集成實現(xiàn)工作流配置全紀錄

    Camunda 7工作流引擎 API 以及與Springboot集成實現(xiàn)工作流配置全紀錄

    項目中需要用到工作流引擎來設計部分業(yè)務流程,框架選型最終選擇了 Camunda7,關于 Camunda以及 Activity 等其他工作流 引擎的介紹及對比不再介紹,這里只介紹與現(xiàn)有Springboot項目的集成以及具體使用及配置 流程(PROCESS): 通過工具建模最終生成的BPMN文件,里面有整個流程的定

    2024年02月10日
    瀏覽(47)
  • 云計算工作流調度

    云計算工作流調度

    閱讀筆記 首先,我們提出了一個更實用的混合云服務流程成本驅動調度模型,該模型在不降低VM部署彈性的情況下更精確地定義資源約束,并考慮了基于間隔的綜合收費,包括計費周期和持續(xù)使用折扣。 其次,提出了一種改進的基于FWA(煙花算法)的方法來解決這一問題。在

    2024年02月02日
    瀏覽(49)
  • Activity工作流引擎

    Activity工作流引擎

    目錄 一、了解工作流 1、什么是工作流 2、工作流引擎 3、常見工作流引擎 4、Activiti7概述 4.1、Activiti介紹 4.2、建模語言BPMN 4.3、Activiti使用流程 二、Activiti7 1、Activiti使用 1.1、數(shù)據(jù)庫支持 1.2、Activiti環(huán)境 1.3、Activiti常用Service服務接口 1.4、流程設計工具 2、Activiti流程操作 2.1、

    2024年02月13日
    瀏覽(22)
  • 工作流引擎Flowable

    工作流引擎Flowable

    官方手冊 一、依賴 二、demo 三、日志文件 在resources中添加日志文件log4j.properties Flowable流程圖 Eclipse Designer, 一款Eclipse插件, 用于圖形化建模, 測試與部署B(yǎng)PMN2.0流程 FlowableUI Flowable BPMN visualizer, 一款idea插件 從官網下載flowable-6.7.2.zip解壓后, 可以看到如下兩個文件 將這兩個文件

    2024年02月09日
    瀏覽(28)
  • Docker工作流

    Docker工作流

    開發(fā)應用 編寫Dockerfile 構建Docker鏡像 運行Docker容器 測試應用 發(fā)布鏡像到Hub 迭代更新鏡像 首先你需要創(chuàng)建一個應用,這個應用可以是后端應用或者前端應用,任何語言都可以。 比如:我使用IDEA 創(chuàng)建一個Java后端應用,基于Maven構建,工程結構如下: 基于自己的工程來編寫

    2024年04月29日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包