Git命令使用全攻略:從創建分支到合并的完整流程

Git命令使用全攻略:從創建分支到合并的完整流程

    • 引言
    • 一、初始化項目與基礎配置
      • 1.1 克隆遠程倉庫
      • 1.2 查看當前分支狀態
    • 二、創建與管理分支
      • 2.1 從main分支創建新功能分支
      • 2.2 查看分支列表
      • 2.3 提交代碼到新分支
      • 2.4 推送分支到GitHub
    • 三、版本發布與標簽管理
      • 3.1 創建輕量標簽(推薦用于簡單版本標識)
      • 3.2 創建附注標簽(推薦用于正式發布)
      • 3.3 推送標簽到遠程倉庫
      • 3.4 查看標簽信息
    • 四、代碼合并與沖突解決
      • 4.1 切換回main分支
      • 4.2 拉取最新代碼(避免合并沖突)
      • 4.3 合并功能分支到main
      • 4.4 刪除已合并的分支(可選)
    • 五、GitHub操作補充
      • 5.1 創建Pull Request(PR)
      • 5.2 查看標簽詳情
    • 六、最佳實踐建議
    • 結語

引言

Git作為現代軟件開發中不可或缺的版本控制工具,掌握其核心命令是每個開發者的必修課。本文將通過一個完整的項目流程,詳細講解如何在GitHub上使用Git進行分支管理、版本發布和代碼合并。無論你是剛接觸Git的新手,還是希望梳理操作流程的開發者,本文都將為你提供清晰的實踐指南。


一、初始化項目與基礎配置

1.1 克隆遠程倉庫

git clone https://github.com/your-username/your-repo.git
cd your-repo

替換your-usernameyour-repo為實際的GitHub賬號和倉庫名

1.2 查看當前分支狀態

git status

該命令會顯示當前所在分支(默認為main)及工作目錄狀態


二、創建與管理分支

2.1 從main分支創建新功能分支

git checkout -b feature/new-feature

或使用新版本Git的簡化命令:

git switch -c feature/new-feature

feature/new-feature為自定義的分支名稱,建議遵循feature/xxx命名規范

2.2 查看分支列表

git branch -a

-a參數會顯示所有本地和遠程分支

2.3 提交代碼到新分支

git add .
git commit -m "Implement new feature"

2.4 推送分支到GitHub

git push -u origin feature/new-feature

-u參數會將本地分支與遠程分支建立追蹤關系


三、版本發布與標簽管理

3.1 創建輕量標簽(推薦用于簡單版本標識)

git tag v1.0.0

3.2 創建附注標簽(推薦用于正式發布)

git tag -a v1.0.0 -m "Release version 1.0.0"

-a參數創建帶附注的標簽,-m指定標簽信息

3.3 推送標簽到遠程倉庫

git push origin v1.0.0

若需推送所有標簽:

git push --tags

3.4 查看標簽信息

git show v1.0.0

四、代碼合并與沖突解決

4.1 切換回main分支

git checkout main

4.2 拉取最新代碼(避免合并沖突)

git pull origin main

4.3 合并功能分支到main

git merge feature/new-feature

沖突解決流程

  1. Git會提示沖突文件
  2. 手動編輯沖突文件,保留需要的代碼
  3. 標記沖突已解決:
    git add <conflicted-file>
    
  4. 完成合并:
    git commit
    

4.4 刪除已合并的分支(可選)

git branch -d feature/new-feature

強制刪除未合并的分支:

git branch -D feature/new-feature

五、GitHub操作補充

5.1 創建Pull Request(PR)

  1. 登錄GitHub倉庫
  2. Compare & pull request頁面創建PR
  3. 填寫描述并提交
  4. 等待代碼審查后合并

5.2 查看標簽詳情

在GitHub倉庫的Releases頁面可查看所有tag信息


六、最佳實踐建議

  1. 分支策略:采用main(生產環境)和develop(開發環境)雙分支模式
  2. 標簽規范:遵循語義化版本號(如v1.2.3
  3. 合并前檢查:確保功能分支已通過CI/CD測試
  4. 定期同步:定期從main拉取最新代碼避免大沖突

結語

通過本文的實踐流程,你已經掌握了Git的核心操作:分支創建、代碼開發、版本發布和合并管理。建議在實際項目中多加練習,同時結合GitHub的圖形化界面進行輔助操作。記住,良好的版本控制習慣能顯著提升團隊協作效率,讓代碼迭代更加安全可控。

提示:可通過git helpgit <command> --help查看具體命令的詳細文檔

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

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

相關文章

MATLAB跳動的愛心

520&#xff0c;一個會動的心~~~ function particleHeart2 % author : slandarer% 所需匿名函數 col1Func(n) repmat([255,158,196]./255,[n,1])repmat([-39,-81,-56]./255,[n,1]).*rand([n,1]); col2Func(n) repmat([118,156,216]./255,[n,1])repmat([137,99,39].*.1./255,[n,…

Go的單測gomock及覆蓋率命令

安裝gomock&#xff1a; go get github.com/golang/mock/gomockgo get github.com/golang/mock/mockgen 使用 mockgen 生成 mock 代碼: 參考 mockgen -sourceservice/user.go -destinationservice /mocks/mock_user_service.go -packagemocks go test -coverprofilecoverage.ou…

vue添加loading后修復頁面渲染問題

問題&#xff1a;想要通過選擇流程&#xff08;1&#xff09;后加載出角色信息&#xff08;2&#xff09; 選擇后無法展示經過排查&#xff0c;再調用接口給角色數組賦值后&#xff0c;頁面在接口調用完之前就已經渲染完成。接口是采用的異步加載解決&#xff1a;loadingRoles…

Python入門手冊:Python簡介,什么是Python

在當今數字化時代&#xff0c;編程語言猶如一把把神奇的鑰匙&#xff0c;能夠開啟通往技術世界的大門。而Python&#xff0c;無疑是其中最閃耀的一顆明星。今天&#xff0c;就讓我們一起走進Python的世界&#xff0c;從它的起源、應用領域以及優缺點三個方面&#xff0c;來全面…

用PyTorch在超大規模下訓練深度學習模型:并行策略全解析

我猜咱們每個人肯定都累壞了&#xff0c;天天追著 LLM 研究社區跑&#xff0c;感覺每天都冒出個新的最牛模型&#xff0c;把之前的基準都給打破了呢。要是你好奇為啥創新速度能這么快&#xff0c;那主要就是研究人員能夠在超大規模下訓練和驗證模型啦&#xff0c;這全靠并行計算…

提示工程(Prompt Engineering)應用技巧

Prompt&#xff08;提示&#xff09;就是用戶與大模型交互輸入的代稱。即我們給大模型的輸入稱為 Prompt&#xff0c;而大模型返回的輸出一般稱為 Completion。 Prompt 需要清晰明確地表達需求&#xff0c;提供充足上下文&#xff0c;使語言模型能夠準確理解我們的意圖。更長、…

[原創](現代Delphi 12指南):[macOS 64bit App開發]: 如何獲取目錄大小?

[作者] 常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 開發工具: Visual Studio、Delphi、XCode、…

Unity入門學習(四)3D數學(4)之四元數Quaternion

目錄 一、什么是四元數 二、和歐拉角的關聯以及為什么會出現四元數 三、四元數的基本組成 Unity中的表示&#xff1a; 四、四元數Quaternion這個類中具有的屬性和方法 常用屬性 核心方法 五、四元數之間的計算 1. 叉乘&#xff08;組合旋轉&#xff09; 2. 點積&#…

活體檢測接口全面評測:2025年活體檢測選擇指南

一、活體檢測&#xff1a;數字化時代的身份驗證基石 活體檢測是一種通過分析人體生物特征動態變化來驗證身份真實性的技術&#xff0c;其核心在于區分真實人體與偽造樣本&#xff08;如照片、視頻、3D 面具等&#xff09;。技術原理主要基于以下維度&#xff1a; 多模態數據采…

物聯網工程畢業設計課題實踐指南

1. 智能家居控制系統 1.1 基于ZigBee的智能家居控制 實踐過程 硬件選型主控:CC2530/CC2531傳感器:溫濕度、光照、人體紅外執行器:繼電器、電機、LED燈系統架構 A[傳感器層] --> B[ZigBee網絡] B --> C[網關] C --> D[云平臺] D --> E[手機APP] 開…

電網中竊電分析:概念、算法與應用

一、引言 在現代電力系統中&#xff0c;竊電行為是一個嚴重影響電網經濟運行和供電秩序的問題。竊電不僅導致供電企業的經濟損失&#xff0c;破壞了電力市場的公平性&#xff0c;還可能對電網的安全穩定運行構成威脅&#xff0c;甚至引發安全事故。隨著科技的不斷進步&#xff…

一洽小程序接入說明

接入說明 文檔以微信小程序作為示例介紹&#xff0c;其他小程序接入操作與此類似 1、添加校驗文件 開發者使用微信小程序提供的 webview 組件可以實現打開一洽的H5對話 小程序的“域名配置”中添加一洽的對話域名地址&#xff0c;需要獲取校驗文件提供給一洽放在域名根目錄下…

【數據結構 -- AVL樹】用golang實現AVL樹

目錄 引言定義旋轉方式LL型RR型LR型RL型 實現結構獲取結點高度平衡因子更新高度左旋右旋插入結點中序遍歷 引言 AVL樹&#xff0c;基于二叉搜索樹通過平衡得到 前面我們知道&#xff0c;通過&#x1f517;二叉搜索樹可以便捷快速地查找到數據&#xff0c;但是當序列有序時&am…

PyTorch圖像識別模型和圖像分割模型體驗

文章目錄 倉庫地址練習&#xff1a;圖像自動識別模型數據集說明模型訓練和保存導入數據集搭建神經網絡訓練和保存實現 模型測試測試代碼測試結果 練習&#xff1a;圖像自動分割模型模型訓練和保存加載數據集搭建神經網絡訓練和保存 模型測試測試代碼測試效果 倉庫地址 圖像識別…

威綸通觸摸屏IP地址設定步驟及程序下載指南

在使用威綸通觸摸屏時&#xff0c;正確設定IP地址以及完成程序下載是確保其正常運行和實現功能的關鍵步驟。本文將詳細介紹威綸通觸摸屏IP地址設定步驟及程序下載的方法。 一、IP地址設定步驟 &#xff08;一&#xff09;前期準備 確保威綸通觸摸屏已經通電并啟動&#xff0…

一文讀懂|大模型智能體互操作協議:MCP/ACP/A2A/ANP

導讀 隨著推理大模型的出現&#xff08;deepseek&#xff0c;Qwen3等&#xff09;&#xff0c;進一步地推進了大模型的智能體系統發展。然而&#xff0c;如何使智能體更好的調用外部工具&#xff0c;智能體與智能體之間如何有機地協作&#xff0c;仍然沒有一個完美的答案。這篇…

前端下載ZIP包方法總結

在前端實現下載 ZIP 包到本地&#xff0c;通常有以下幾種方法&#xff0c;具體取決于 ZIP 包的來源&#xff08;靜態文件、后端生成、前端動態生成等&#xff09;&#xff1a; 方法 1&#xff1a;直接下載靜態文件&#xff08;最簡單&#xff09; 如果 ZIP 包是服務器上的靜態…

簡單使用Slidev和PPTist

簡單使用Slidev和PPTist 1 簡介 前端PPT制作有很多優秀的工具包&#xff0c;例如&#xff1a;Slidev、revealjs、PPTist等&#xff0c;Slidev對Markdown格式支持較好&#xff0c;適合與大模型結合使用&#xff0c;選喲二次封裝&#xff1b;revealjs適合做數據切換&#xff0c…

數據挖掘:從數據堆里“淘金”,你的數據價值被挖掘了嗎?

數據挖掘&#xff1a;從數據堆里“淘金”&#xff0c;你的數據價值被挖掘了嗎&#xff1f; 在這個數據爆炸的時代&#xff0c;我們每天都在產生海量信息&#xff1a;社交媒體上的點贊、網購時的瀏覽記錄&#xff0c;甚至是健身手環記錄下的步數。這些數據本身可能看似雜亂無章…

程序運行報錯分析文檔

zryhuawei:~/src/modules/Connect$ ./newbuild/OpConnectAidTool \WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version. replace into process_tracking (step_id,date,status,context_data,start_time,end_time,error_log) values(?,?,?…