【保姆級喂飯教程】Windows下安裝Git Flow

目錄

  • 前言
  • 一、SourceTree
  • 二、Git for Windows (previously MSysGit)
    • 1. 下載補丁
    • 1.1 getopt.exe
    • 1.2 libintl3.dll
    • 1.3 libiconv2.dll
    • 1.4 安裝補丁
    • 2. 安裝Git Flow
    • 3. 測試
      • 3.1 初始化(Initialize)
      • 3.2 設置遠程
      • 3.3 創建分支
      • 3.4 功能開發
      • 3.5 功能提交
      • 3.6 推送分支
      • 3.7 拉取分支
      • 3.7 更新分支
      • 3.8 功能完成
      • 3.9 推送develop分支
      • 3.10 上線
  • 三、一鍵安裝
  • 參考文獻

前言

GitFlow 是一種 Git 工作流,這個工作流程圍繞著project的發布(release)定義了一個嚴格的如何建立分支的模型。它是團隊成員遵守的一種代碼管理方案 。
由于它只是一個規范,你可以掌握規范后通過git命令實現,也可以通過一些工具的封裝進行使用。

推薦一個Git Flow規范教程:Git之GitFlow工作流 | Gitflow Workflow(萬字整理,已是最詳)

一、SourceTree

SourceTree是一款免費的Git圖形化客戶端,它由Atlassian開發,提供了跨平臺的支持,可運行在Windows和Mac操作系統上。Sourcetree可以讓開發者更方便地使用Git來管理代碼,不需要在命令行中輸入復雜的Git命令,而是通過可視化的界面完成代碼管理操作。

SourceTree 是 Windows 和Mac OS X 下免費的 GitHg 客戶端,擁有可視化界面,容易上手操作。同時它也是MercurialSubversion版本控制系統工具。支持創建、提交、clone、push、pull 和merge等操作。最主要是它,支持中文、支持中文、支持中文。

SourceTree支持多種Git工作流,例如Git FlowGitHub Flow等,可以幫助開發者更好地管理Git分支、合并代碼、提交代碼等操作。此外,SourceTree還集成了一些實用的功能,例如自動提交、撤銷提交、文件比較、文件歷史記錄等,方便開發者進行代碼管理和版本控制。

安裝及使用教程參考:【保姆級喂飯教程】Git圖形化客戶端Sourcetree安裝及使用教程


二、Git for Windows (previously MSysGit)

Git for Windows就是我們在Windows上安裝的git,以前的名稱叫做MSysGit,我們平常用到最多的就是它提供的Git Bash

在項目文件夾空白處右鍵,選擇Git Bash Here即可打開
在這里插入圖片描述
推薦一個Git安裝教程:Git安裝配置使用詳解(全網最全)

Git Flow官網教程:https://github.com/nvie/gitflow/wiki/Windows

1. 下載補丁

如圖所示,需要下載getopt.exe、libintl3.dll、libiconv2.dll三個文件
在這里插入圖片描述

1.1 getopt.exe

打開下載連接:https://gnuwin32.sourceforge.net/packages/util-linux-ng.htm
點擊Binaries后面的Zip下載二進制文件
在這里插入圖片描述
跳轉到sourceforge過5秒會自動下載
在這里插入圖片描述

1.2 libintl3.dll

打開下載連接:https://gnuwin32.sourceforge.net/packages/libintl.htm
點擊Binaries后面的Zip下載二進制文件
在這里插入圖片描述

1.3 libiconv2.dll

打開下載連接:https://gnuwin32.sourceforge.net/packages/libiconv.htm
在這里插入圖片描述

1.4 安裝補丁

解壓縮下載文件,依次打開bin文件找到對應補丁,其他不需要,后面我會提供一個壓縮包,包括后面用到的git flow項目文件
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
復制到git的安裝目錄下的bin文件夾中
在這里插入圖片描述

2. 安裝Git Flow

繼續按照官方教程
在這里插入圖片描述
找一個文件夾,右鍵選擇Git Bash Here,打開后復制粘貼克隆命令:

git clone --recursive git://github.com/nvie/gitflow.git

注意git不走代理,需要開啟虛擬網卡模式,而git://仍然連接不上
在這里插入圖片描述
遂換成http地址,加上--recursive參數是為了遞歸克隆,因為原項目中使用鏈接引入了另一個項目

git clone --recursive https://github.com/nvie/gitflow.git

鏈接的項目下載失敗了,猜測應該沒用,先不管它了,需要的話可以直接到GitHub上通過網頁下載
在這里插入圖片描述
重新通過GitHub下載一下,這樣倉庫更簡潔,沒有.git文件,文件日期也是原日期,好看一些
在這里插入圖片描述
解壓后點擊進入contrib文件夾
在這里插入圖片描述
直接在路徑欄輸入cmd,即可從當前目錄打開cmd窗口,也可以通過cd進入
在這里插入圖片描述
輸入下面命令,git地址替換為安裝路徑

msysgit-install.cmd "Git 地址"

在這里插入圖片描述
可以看到就是把git flow對應分支文件復制到git的bin目錄下,也需要用到之前沒下載下來的文件
在這里插入圖片描述
正好直接把cmd腳本扔給ai分析一下,確認就是簡單的復制文件,完全可以手動實現
【AI問答】GitFlow中msysgit-install.cmd代碼分析

先去下載一下引用的項目
https://github.com/nvie/shFlags/tree/2fb06af13de884e9680f14a00c82e52a67c867f1
在這里插入圖片描述
解壓后復制到shFlags文件下
在這里插入圖片描述
再次執行會觸發覆蓋安裝,輸入y后會刪除再復制
在這里插入圖片描述
最終git/bin目錄如下
在這里插入圖片描述

3. 測試

在隨意一個文件夾打開git bash,輸入git flow,顯示如下說明安裝成功
在這里插入圖片描述
創建一個空項目,創建一個空文件備用,下面模擬一個日常開發流程
在這里插入圖片描述
在gitlab上創建一個空項目
在這里插入圖片描述

3.1 初始化(Initialize)

git flow init

會依次讓你設置各類分支名稱,一路回車默認即可,版本前綴我加了一個v
創建完成后會自動切換到develop分支
在這里插入圖片描述

3.2 設置遠程

有時候可能會需要和別人共同開發,或者需要提交每日工作進度,需要把功能分支提交到gitlab上

git remote add origin 倉庫地址 # 設置遠程倉庫
git remote -v  # 顯示所有遠程倉庫地址

在這里插入圖片描述
推送master分支

git checkout master # 切換分支
git push -u origin master # 關聯并推送(使用 -u 或 --set-upstream)

在這里插入圖片描述

推送develop分支

git checkout develop # 切換分支
git push -u origin develop # 關聯并推送(使用 -u 或 --set-upstream)

在這里插入圖片描述
gitlab分支如下
在這里插入圖片描述

3.3 創建分支

各種分支管理流程基本一致,這里以功能分支作為示例,

git flow feature start 分支名

git flow會基于develop分支創建feature分支,無論當前是什么分支,創建后會自動切換到功能分支
在這里插入圖片描述

3.4 功能開發

打開main文件輸入一些文本
在這里插入圖片描述

3.5 功能提交

git status #提交前查看暫存文件
git add . #添加文件
git commit -m "提交信息" #提交信息,-m 為單行信息

在這里插入圖片描述

3.6 推送分支

# 首先要創建遠程并關聯,兩種寫法均可,如果功能分支或者人員比較多,可以考慮不推送功能分支
git flow feature publish 分支名 # 推送到遠程倉庫
git push -u origin feature/分支名 

在這里插入圖片描述
在這里插入圖片描述

3.7 拉取分支

有推送當然就有拉取,除第一次外,每次推送前都應該先拉取

git pull

在這里插入圖片描述
或者用git flow封裝的拉取命令

git flow feature pull origin 分支名

如果是第一次拉取一個別人的分支,更推薦用下面這個,我拉取的是自己就失敗了

git flow feature track 分支名

在這里插入圖片描述

3.7 更新分支

功能更新后再次推送

git push

3.8 功能完成

git flow feature finish 分支名

git flow會幫我們把功能分支合并到本地develop分支,并把功能分支和遠程功能分支刪除
在這里插入圖片描述
在這里插入圖片描述

3.9 推送develop分支

目前新的功能還在本地develop分支,需要推到遠程develop分支

git push

在這里插入圖片描述

3.10 上線

后續就是創建release分支,然后設置版本號和tag,完成分支時自動合并至develop分支和master分支

三、一鍵安裝

由于所有的補丁文件只需復制到git的bin目錄下即可,所以可以提前把所有文件打成一個壓縮包,這樣直接解壓不就好了,我已經打包好啦,需要的同學直接下載解壓就可以
Git Flow一鍵安裝補丁
想自己操作的也可以下載源文件學習一下
Git Flow補丁源文件


參考文獻

Git之GitFlow工作流 | Gitflow Workflow(萬字整理,已是最詳)
【保姆級喂飯教程】Git圖形化客戶端Sourcetree安裝及使用教程
Git安裝配置使用詳解(全網最全)
https://github.com/nvie/gitflow/wiki/Windows
【AI問答】GitFlow中msysgit-install.cmd代碼分析
https://github.com/nvie/shFlags/tree/2fb06af13de884e9680f14a00c82e52a67c867f1


喜歡的點個關注吧><!祝你永無bug~~~

/*_ooOoo_o8888888o88" . "88(| -_- |)O\  =  /O____/`---'\____.'  \\|     |//  `./  \\|||  :  |||//  \/  _||||| -:- |||||-  \|   | \\\  -  /// |   || \_|  ''\---/''  |   |\  .-\__  `-`  ___/-. /___`. .'  /--.--\  `. . __."" '<  `.___\_<|>_/___.'  >'"".| | :  `- \`.;`\ _ /`;.`/ - ` : | |\  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^佛祖保佑       永無BUG
*/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/914243.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/914243.shtml
英文地址,請注明出處:http://en.pswp.cn/news/914243.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

manifest.json只有源碼視圖沒其他配置

項目場景&#xff1a;提示&#xff1a;這里簡述項目相關背景&#xff1a;有時候我們從git上面拉下代碼&#xff0c;第一次運行時發現&#xff0c;沒運行項&#xff0c;再看manifest.json文件&#xff0c;就只有json文件&#xff0c;沒有其他配置項原因分析&#xff1a;提示&…

數據分析-名詞

一、網頁訪問數據指標1.IP &#xff08;Internet Protocol&#xff09;獨立IP 通常采用獨立IP數&#xff0c; 理論上指00:00-24:00內相同IP地址重復訪問只被計算一次。而不同的商業統計工具&#xff0c;縮短去 掉重復統計的時間&#xff0c;也是數據統計放大的一個常用套路。 &…

UDP屬于是一種什么服務器?

UDP是一種傳輸層協議&#xff0c;通常會被應用在計算機網絡中&#xff0c;為企業與用戶提供無連接的數據信息傳輸功能&#xff0c;與TCP協議相比較來說&#xff0c;UDP會更加的簡單但是UDP在可靠性方面沒有一定的保證&#xff0c;屬于是一種基于UDP協議進行通信的服務器。UDP服…

ARM單片機OTA解析(一)

文章目錄一、單片機燒寫程序的幾種方法二、Bootloader如何加載啟動App一、單片機燒寫程序的幾種方法 在線應用編程&#xff0c;由開發者實現Bootloader功能&#xff0c;比如ARM單片機的Code分區中的Flash本是存儲用戶應用程序的區間(上電從此處執行用戶代碼)&#xff0c;開發者…

C語言基礎教程--從入門到精通

C語言基礎教程–從入門到精通&#xff08;總體概括&#xff09; 接下來會對每一個章節進行詳細的總結與整理&#xff0c;希望對大家有用&#xff01;大家一起學習&#xff01; 目錄C語言基礎教程--從入門到精通&#xff08;總體概括&#xff09;**接下來會對每一個章節進行詳細…

單細胞分析教程 | (二)標準化、特征選擇、降為、聚類及可視化

在完成質控&#xff08;QC&#xff09;后&#xff0c;我們已經過濾掉了低質量細胞、雙細胞和低表達基因&#xff0c;獲得了較為干凈的單細胞數據集單細胞分析教程 | &#xff08;一&#xff09;Python單細胞質控全流程。接下來&#xff0c;我們將進行以下關鍵步驟&#xff1a; …

大模型 Agent(智能體)技術簡介

大模型 Agent&#xff08;智能體&#xff09;技術 是當前人工智能領域的前沿方向&#xff0c;它賦予大型語言模型&#xff08;LLM&#xff09;自主感知、規劃、決策和行動的能力&#xff0c;使其不再局限于“被動應答”&#xff0c;而是能主動完成復雜任務。簡單來說&#xff0…

OneCode 3.0架構深度剖析:工程化模塊管理與自治UI系統的設計與實現

引言 OneCode 3.0作為新一代低代碼開發平臺&#xff0c;其架構設計圍繞"工程模塊化"與"UI自主化"兩大核心目標展開。本文將從底層接口到上層應用&#xff0c;全面解析OneCode 3.0的技術架構&#xff0c;包括核心工廠類、工程管理接口、數據倉庫設計以及動態…

功耗校準數據PowerProfile測試方法建議

場景步驟版本:xxxxA1A2結果&#xff08;mA&#xff09;screen,full1.打開飛行模式&#xff0c;滅屏時間最長&#xff0c;其他的基礎功能關2.進入到日歷應用界面3.將亮度設置至最大&#xff08;4095&#xff09;&#xff0c;待電流穩定后&#xff0c;測試5分鐘&#xff0c;記錄電…

[附源碼+數據庫+畢業論文]基于Spring+MyBatis+MySQL+Maven+vue實現的供電公司安全生產考試管理系統,推薦!

摘 要 使用舊方法對安全生產考試信息進行系統化管理已經不再讓人們信賴了&#xff0c;把現在的網絡信息技術運用在安全生產考試信息的管理上面可以解決許多信息管理上面的難題&#xff0c;比如處理數據時間很長&#xff0c;數據存在錯誤不能及時糾正等問題。 這次開發的供電公…

輸入框過濾選項列表,el-checkbox-group單選

需求&#xff1a;根據輸入的文本動態過濾選項列表&#xff0c;并在下方顯示匹配到的選項。當用戶勾選匹配到的選項時&#xff0c;把該選項的值賦值給輸入框中綁定的值。當用戶取消選擇時&#xff0c;輸入框中的字段可以隨意編輯。組件&#xff1a;el-input、el-checkbox-group、…

身份認證缺陷

Authentication Bypasses審計創建AccountVerificationHelper實例&#xff0c;用于處理賬戶驗證邏輯parseSecQuestions函數的作用是從請求體中遍歷參數名&#xff0c;找到包含secQuestion的參數&#xff0c;將其值存入Map中并返回這里直接把AccountVerificationHelper整個分析一…

火山引擎:字節跳動的技術賦能初解

火山引擎是字節跳動旗下的企業級智能技術服務平臺&#xff0c;于2020年6月正式上線。它通過開放字節跳動在大數據、人工智能、視頻云等領域的核心技術&#xff0c;助力企業實現數字化轉型與業務增長。火山引擎界面核心能力與技術亮點:1.全棧云服務公有云與混合云&#xff1a;提…

VUE 帶有搜索功能的穿梭框(簡單demo)

一、template/ 組件代碼<el-dialog :title"title" :visible.sync"dialogVisible" width"60%" :before-close"handleClose" class"custom-dialog-line" ><div style"text-align: center ; width: 100%; height…

寫個掃雷小游戲

1.test.c&#xff08;測試源文件&#xff09;2.game.c&#xff08;游戲源文件&#xff09;3.頭文件

【Linux庖丁解牛】— system V共享內存!

1. 什么是system VSystem V IPC&#xff08;Interprocess Communication&#xff0c;進程間通信&#xff09;是Unix系統中一種經典的進程間通信機制&#xff0c;由AT&T在System V.2版本中引入&#xff0c;并廣泛應用于Linux等現代操作系統中。它通過三種核心機制實現進程間…

從輸入到路徑:AI賦能的地圖語義解析與可視化探索之旅(2025空間智能全景)

??摘要??在空間智能爆發的2025年&#xff0c;地圖系統已從靜態導航工具進化為??實時決策中樞??。本文深度解析AI如何重構地理信息處理全鏈路&#xff1a;通過??多模態語義理解??&#xff08;文本/語音/圖像→空間意圖&#xff09;、??動態路網建模??&#xff0…

安全運維新趨勢:AI 驅動的自動化威脅檢測

在數字化浪潮中&#xff0c;網絡攻擊正從 “單點突破” 進化為 “鏈狀打擊”&#xff1a;2024 年某金融機構遭遇供應鏈攻擊&#xff0c;惡意代碼通過運維通道潛伏 3 個月&#xff0c;傳統規則引擎因未識別 “正常運維指令中的異常參數”&#xff0c;導致數據泄露損失過億。這背…

數據庫復合索引設計:為什么等值查詢列應該放在范圍查詢列前面?

前言作為后端開發工程師&#xff0c;我們經常會遇到數據庫查詢性能問題。在一次系統優化中&#xff0c;我發現一個簡單的索引順序調整竟然讓查詢速度提升了10倍&#xff01;這讓我意識到復合索引列順序的重要性。今天&#xff0c;我就來分享一下這個經驗&#xff0c;希望能幫助…

【PMP備考】每日一練 - 2

1、一個建筑項目的項目經理發現&#xff0c;他管理的項目所在地附近正在新建一條新的水管線。公司政策要求&#xff0c;在他的團隊繼續完成這個項目之前&#xff0c;必須先填寫一系列有關城市環境變化的表格。這是那兩種情況的例子&#xff1f;&#xff08;選2個選項&#xff0…