[特殊字符] 如何在自己的倉庫開發,同時保持同步原作者更新(超詳細教程)

在開源協作開發中,很多時候我們會遇到這樣一種情況:

👉 我們想基于一個開源項目繼續開發,代碼要推送到自己的倉庫里;
👉 但原作者可能還會更新,我們也希望能隨時把最新的改動同步過來。

本文以 Gitee 為例,手把手教你如何操作。


一、場景說明

假設:

  • 原作者的倉庫地址:

    https://gitee.com/zhijiantianya/ruoyi-vue-pro.git
    
  • 你在 Gitee 新建了自己的倉庫:

    https://gitee.com/yourname/ruoyi-vue-pro.git
    
  • 本地一開始是 clone 下來的原作者代碼。

目標是:

  1. 自己的倉庫作為主要開發倉庫(origin)。
  2. 原作者的倉庫作為更新來源(upstream)。
  3. 日常開發推送到自己的倉庫;需要更新時從原作者拉取。

二、操作步驟

1. 重命名遠程倉庫

你本地現在的 origin 指向原作者倉庫,先改名為 upstream

git remote rename origin upstream

2. 添加自己的倉庫作為新的 origin

git remote add origin https://gitee.com/yourname/ruoyi-vue-pro.git

3. 檢查遠程倉庫

git remote -v

輸出應類似:

origin    https://gitee.com/yourname/ruoyi-vue-pro.git (fetch)
origin    https://gitee.com/yourname/ruoyi-vue-pro.git (push)
upstream  https://gitee.com/zhijiantianya/ruoyi-vue-pro.git (fetch)
upstream  https://gitee.com/zhijiantianya/ruoyi-vue-pro.git (push)

4. 推送到自己的倉庫

第一次推送:

git push -u origin master

(如果默認分支是 main 就改成 main


三、以后如何同步原作者更新

每次想獲取原作者更新時:

# 1. 拉取原作者更新
git fetch upstream# 2. 切換到主分支
git checkout master   # 或 main# 3. 合并原作者的更新
git merge upstream/master# 4. 推送到自己的倉庫
git push origin master

這樣你的倉庫就和原作者保持同步啦。


四、完整流程圖

下面是一個小白也能看懂的操作流程圖 👇

             +-------------------------+| 原作者倉庫 (upstream)   || gitee.com/zhijiantianya |+-----------+-------------+|git fetch / merge|v
+-------------------------+          git push          +---------------------------+
| 本地倉庫                | -----------------------> | 個人倉庫 (origin)          |
| D:\02_Workspace\jxc... |                          | gitee.com/yourname/ruoyi   |
+-------------------------+                          +---------------------------+

五、日常使用總結

  • 開發提交 → 提交到本地,再 push 到自己的倉庫(origin)。
  • 獲取更新fetch upstreammerge 到本地主分支 → push 到自己的倉庫。
  • 保持清晰 → 記住:origin = 你自己的倉庫,upstream = 原作者倉庫。

六、寫在最后

這種方式非常適合:

  • 二次開發開源項目
  • 自己定制化版本,但又想跟進官方更新
  • 團隊內部協作(fork → 開發 → 合并)

學會這一招,你就能輕松維護自己的代碼庫,同時又不落下原作者的新功能。 🎉

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

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

相關文章

Spring Ai (Function Calling / Tool Calling) 工具調用

1.工具調用介紹 工具調用是現代大語言模型(LLM)的一項重要能力,允許模型在生成回復時“決定”是否需要調用某個外部函數來獲取信息或執行操作。例如: 聯網搜索 (實現查詢到大模型未學習和RAG知識庫中不存在的數據&am…

LabVIEW 正弦波噪聲濾波

利用 LabVIEW 搭建程序,先合成含噪正弦波(正弦信號與高通濾波后的噪聲疊加),再通過低通濾波提取純凈正弦波,實現噪聲去除,常用于信號處理、測試測量場景,驗證濾波算法對正弦信號的降噪效果。?功…

基于django的梧桐山水智慧旅游平臺設計與開發(代碼+數據庫+LW)

摘要 隨著信息技術的飛速發展,旅游行業面臨著用戶需求多樣化、信息獲取不便、服務體驗不佳等問題。傳統的旅游服務多依賴人工管理和線下宣傳,難以高效整合資源與提供個性化服務。為解決這些問題,本文設計開發一個基于Django的梧桐山水智慧旅…

微服務相關面試題

寫在前面 🔥我把后端Java面試題做了一個匯總,有興趣大家可以看看!這里👉 ??在反復復習面試題時,我發現不同資料的解釋五花八門,容易造成概念混淆。尤其是很多總結性的文章和視頻,要么冗長難…

循環神經網絡——pytorch實現循環神經網絡(RNN、GRU、LSTM)

循環神經網絡——pytorch實現循環神經網絡(RNN、GRU、LSTM) 本文將深入探討循環神經網絡的理論基礎,并通過PyTorch深度學習框架來展示如何實現循環神經網絡模型。我們將首先介紹循環神經網絡的基本概念。通過PyTorch代碼示例,我們…

系統架構設計師備考第8天——嵌入式系統

一、嵌入式系統概述定義 為特定應用構建的專用計算機系統,軟硬件緊密結合,滿足功能、可靠性、成本、體積、功耗等嚴格要求。核心特征:專用性強、技術融合(計算機通信半導體技術)、軟硬一體以軟件為主、資源受限、程序固…

HarmonyOS 中的 sharedTransition:實現流暢的頁面過渡動畫

HarmonyOS 中的 sharedTransition:實現流暢的頁面過渡動畫 在移動應用開發中,頁面之間的過渡動畫是提升用戶體驗的關鍵因素之一。HarmonyOS 提供了 sharedTransition 功能,讓開發者能夠輕松實現元素在不同頁面間的平滑過渡效果,創…

【服務器】Apache Superset MCP接入與使用

1. 概述 Apache Superset MCP 集成(superset-mcp)是一個基于 Model Control Protocol(MCP)的服務器工具,旨在實現 AI 代理與 Apache Superset 的程序化交互。該項目通過提供標準化的工具接口,使 AI 助手&a…

Postman接口測試:postman設置接口關聯,實現參數化

🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快postman設置接口關聯在實際的接口測試中,后一個接口經常需要用到前一個接口返回的結果, 從而讓后一個接口能正常執行,這個過程的…

第一個,QT版本問題:no member named SkipEmptyParts‘in namespace ‘Qt

這是我朋友給我發過來的代碼,但是在我電腦上報錯了,遇到的問題是 Qt 版本兼容導致的編譯錯誤。這是因為我的是5.12版本,他的是6.4版本,Qt::SkipEmptyParts只能在6版本使用,無法在5.12甚至更早的版本使用,具…

【PostgreSQL內核學習:通過 ExprState 提升哈希聚合與子計劃執行效率(二)】

PostgreSQL內核學習:通過 ExprState 提升哈希聚合與子計劃執行效率(二)引言ExecBuildHash32FromAttrs示例 SQL 查詢函數運行流程與代碼解釋最終 ExprState 結構執行示例總結ExecComputeSlotInfo示例 SQL 查詢函數注釋與解釋作用參數返回值執行…

技術分析 | Parasoft C/C++test如何突破單元測試的隔離難題

單元測試是保證軟件質量的第一道防線,但其推行往往面臨兩大阻力:一是編寫和維護測試用例耗時費力,二是難以與現有項目和團隊習慣無縫集成。Parasoft C/Ctest 通過其強大的圖形化測試創建能力、自動樁函數技術以及卓越的生態集成性&#xff0c…

K8S架構與組件完全解析

目錄 K8S-組件介紹 一、概述 K8S的由來 K8S的功能 K8S解決的問題 K8S的特性 二、K8S架構與組件 K8S架構 K8S組件 master 節點組件 Kube-apiserver Kube-controller-manager Kube-scheduler etcd node節點組件 Kubelet Kube-Proxy Controller Runtime Pod 三…

Jenkins 執行器(Executor)并發數量修改

Jenkins 執行器(Executor)并發數量修改一、什么是 Jenkins 執行器(Executor)?二、為什么默認是 2?三、如何修改 Jenkins 執行器數量?1. 進入 Jenkins 管理頁面2. 找到節點配置3. 選擇需要修改的…

vue3使用reactive和ref

<script setup>import { ref } from vueconst count ref(0) console.log(count.value)</script><template></template>ref需要注意&#xff0c;在script腳本區域需要加上.value&#xff0c;然后在template模板區域使用不需要帶.value

(筆記)InputChannel跨進程傳輸機制深度分析

概述 InputChannel是Android輸入系統中負責跨進程事件傳輸的核心組件&#xff0c;它建立了InputDispatcher&#xff08;SystemServer進程&#xff09;與應用程序&#xff08;App進程&#xff09;之間的高效通信通道。本文深入分析InputChannel的實現機制&#xff0c;包括socket…

AI實時故障診斷系統(實時采集信號)

1.摘要 本文設計了一套“基于Labview的旋轉機械信號分析與故障診斷系統&#xff08;可部署AI模型和實時監測設備運行狀態&#xff09;”。首先&#xff0c;LabVIEW 端構建了信號采集與設備狀態實時監測模塊和本地數據故障診斷模塊。該系統實現了“數據采集、數據處理、時頻域特…

【51單片機】【protues仿真】基于51單片機籃球計時計分器數碼管系統

目錄 一、主要功能 二、使用步驟 三、硬件資源 四、軟件設計 五、實驗現象 一、主要功能 1、數碼管顯示 1、比賽時間為15&#xff1a;00&#xff0c;甲乙隊比分默認000&#xff0c;通過按鍵修改 3、比賽運行的狀態下&#xff0c;按開始暫停鍵&#xff0c;比賽暫停&#…

[讀論文]Hunyuan 3D 系列

1.0&#xff1a; &#xff08;adaptive clasisfier guidance&#xff0c;input 輸入一個沒cam的branch&#xff1b;提高triplane分辨率&#xff09; 總結&#xff1a; 大規模再train zero123&#xff0c;但角度設置不同&#xff1b;adaptive clasisfier guidance&#xff08;f…

深入理解文本向量嵌入(Vector Embeddings):原理、實踐與應用場景

深入理解文本向量嵌入&#xff08;Vector Embeddings&#xff09;&#xff1a;原理、實踐與應用場景 1. 什么是向量嵌入&#xff1f; 文本向量嵌入&#xff08;Vector Embedding&#xff09;是一種將文本轉化為數值向量的技術&#xff0c;使得字符串之間的關聯性可以通過數值…