最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

git clone--mirror同步橋詳解

 更新時(shí)間:2026年05月19日 08:34:52   作者:Eloudy  
該文章主要了Git倉庫同步的幾種情況,包括保留mirror裸倉庫、已刪除裸倉庫以及只想同步新tag等場(chǎng)景,通過創(chuàng)建裸倉庫、fetch分支/標(biāo)簽等方式實(shí)現(xiàn)代價(jià)較低的增量同步,并在需要時(shí)寫了長期自動(dòng)同步的建議

情況一:之前的 mirror 裸倉庫還在

如果你之前的 cuda-quantum.git(mirror 裸倉庫)目錄還保留著,兩步搞定

cd ~/cuda-quantum.git

# Step 1: 從 a 倉庫拉取最新內(nèi)容(包括新 tag、新分支、新提交)
# 因?yàn)楫?dāng)初 mirror 時(shí) fetch URL 仍指向 a,所以直接 fetch 即可
git fetch origin

# Step 2: 推送到 b 倉庫(push URL 已指向 b)
git push --mirror

原理說明:

git clone --mirror https://a.git 創(chuàng)建的裸倉庫有兩個(gè)隱含配置:

$ git config --get remote.origin.url          # fetch URL → 仍是 a
https://a.git

$ git config --get remote.origin.pushurl      # push URL → 你改成了 b
ssh://b.git

$ git config --get remote.origin.mirror       # mirror 模式開啟
true

所以 git fetch origina 拉取git push --mirrorb 推送,天然就是增量同步。

情況二:mirror 裸倉庫已被刪除

如果之前的裸倉庫已經(jīng)刪了,不要重新 clone --mirror,否則會(huì)把 Bitbucket 的 refs/pull-requests/* 又拉回來導(dǎo)致推送失敗。

正確做法是創(chuàng)建一個(gè)新的裸倉庫,只 fetch 分支和標(biāo)簽

# 創(chuàng)建新的裸倉庫
git clone --bare https://a.git project.git
cd project.git

# 配置推送到 b
git remote set-url --push origin ssh://b.git

# 推送所有分支和標(biāo)簽(跳過 Bitbucket 內(nèi)部保留的 refs)
git push origin 'refs/heads/*:refs/heads/*'
git push origin 'refs/tags/*:refs/tags/*'

如果之前的裸倉庫已經(jīng)推送成功過一次,現(xiàn)在只剩增量問題,推薦用情況一保留裸倉庫作為長期同步橋。

情況三:只想同步新 tag,不碰已有內(nèi)容

如果 b 倉庫已經(jīng)有大部分內(nèi)容,只想把 a 的新 tag 同步過去:

cd ~/cuda-quantum.git

# 獲取 a 的所有新內(nèi)容
git fetch origin

# 只推送新 tag
git push origin --tags

# 或:推送所有分支(只推送 b 上沒有的)
git push origin 'refs/heads/*:refs/heads/*'

長期維護(hù):建一個(gè)簡單的同步腳本

如果 a 和 b 兩個(gè)倉庫需要長期保持同步,建議保留那個(gè) mirror 裸倉庫,并寫一個(gè)定時(shí)腳本:

#!/bin/bash
# ~/sync-mirror.sh

REPO_DIR="$HOME/cuda-quantum.git"
cd "$REPO_DIR" || exit 1

echo "Fetching from source (a)..."
git fetch origin

echo "Pushing to mirror (b)..."
# 排除 Bitbucket 內(nèi)部保留的命名空間
git push origin 'refs/heads/*:refs/heads/*'
git push origin 'refs/tags/*:refs/tags/*'

echo "Done."

加 crontab 每周自動(dòng)同步:

crontab -e
# 添加
0 2 * * 1 /home/eili/sync-mirror.sh >> /home/eili/sync-mirror.log 2>&1

關(guān)鍵命令速查

需求命令
從 a 增量拉取git fetch origin(在 mirror 裸倉庫中執(zhí)行)
全量推送到 bgit push --mirror
只推送分支+標(biāo)簽(安全)git push origin 'refs/heads/*:refs/heads/*' && git push origin --tags
查看 fetch/push URLgit remote -v
查看新 taggit ls-remote --tags origin | tail -20

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux中的CPU實(shí)現(xiàn)上下文切換

    Linux中的CPU實(shí)現(xiàn)上下文切換

    這篇文章主要介紹了Linux中的CPU實(shí)現(xiàn)上下文切換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Linux跨服務(wù)器文件傳輸?shù)牟僮鞑襟E

    Linux跨服務(wù)器文件傳輸?shù)牟僮鞑襟E

    scp命令是Secure Copy的縮寫,可以在不同的Linux服務(wù)器之間安全地復(fù)制文件,這篇文章主要介紹了Linux跨服務(wù)器文件傳輸?shù)牟僮鞑襟E,需要的朋友可以參考下
    2024-07-07
  • linux DMA接口知識(shí)點(diǎn)詳解

    linux DMA接口知識(shí)點(diǎn)詳解

    在本篇文章里小編給大家整理了關(guān)于linux DMA接口知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。
    2020-02-02
  • Linux(CentOS)安裝Nginx圖文教程

    Linux(CentOS)安裝Nginx圖文教程

    本文文介紹了兩種安裝Nginx的方式:通過yum安裝和通過編譯源碼包安裝,yum安裝簡單,全程無憂,但需root權(quán)限;編譯安裝需具備配置相關(guān)操作,但安裝后可能定制化更強(qiáng),最后附上了設(shè)置Nginx服務(wù)開機(jī)啟動(dòng)的方法
    2026-04-04
  • Linux環(huán)境(CentOS6.7 64位)下安裝subversion1.9.5的方法

    Linux環(huán)境(CentOS6.7 64位)下安裝subversion1.9.5的方法

    這篇文章主要介紹了Linux環(huán)境(CentOS6.7 64位)下安裝subversion1.9.5的方法,結(jié)合實(shí)例形式分析了CentOS下安裝subversion1.9.5的相關(guān)步驟、命令及操作注意事項(xiàng),需要的朋友可以參考下
    2018-04-04
  • Apache Airflow 快速入門教程應(yīng)用場(chǎng)景分析

    Apache Airflow 快速入門教程應(yīng)用場(chǎng)景分析

    ApacheAirflow是一個(gè)用于編排、調(diào)度和監(jiān)控工作流的開源平臺(tái),適用于ETL和MLOps用例,它通過有向無環(huán)圖(DAG)定義管道,支持任務(wù)依賴關(guān)系、調(diào)度、錯(cuò)誤處理和日志記錄,本文介紹Apache Airflow 快速入門教程,感興趣的朋友一起看看吧
    2024-12-12
  • C語言中 malloc,calloc,realloc的區(qū)別

    C語言中 malloc,calloc,realloc的區(qū)別

    這篇文章主要介紹了C語言中 malloc、calloc、realloc的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Linux上MySQL通過圖形化界面操作方式

    Linux上MySQL通過圖形化界面操作方式

    本文介紹了MySQL圖形化工具Workbench的優(yōu)勢(shì)、安裝與配置流程,并通過多個(gè)實(shí)際操作案例,展示其在數(shù)據(jù)庫查詢與管理中的高效性,總結(jié)指出,Workbench作為官方工具極大提升了開發(fā)和管理效率
    2025-10-10
  • centos查找已安裝的jdk路徑的方法

    centos查找已安裝的jdk路徑的方法

    本篇文章主要介紹了centos查找已安裝的jdk路徑的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • 一文詳解Linux中的fork機(jī)制

    一文詳解Linux中的fork機(jī)制

    fork() 是一種系統(tǒng)調(diào)用,用于在操作系統(tǒng)中創(chuàng)建新進(jìn)程,當(dāng) fork() 被調(diào)用時(shí),會(huì)生成一個(gè)當(dāng)前進(jìn)程的副本(稱為子進(jìn)程),而原始進(jìn)程則被稱為父進(jìn)程,本文給大家詳細(xì)介紹了Linux中的fork機(jī)制,需要的朋友可以參考下
    2025-03-03

最新評(píng)論

唐河县| 陈巴尔虎旗| 恩施市| 读书| 观塘区| 九台市| 宁武县| 五台县| 聊城市| 千阳县| 鹤峰县| 陆河县| 巴里| 山东| 泸州市| 五华县| 延安市| 广西| 普陀区| 通道| 夹江县| 宜城市| 台山市| 科尔| 山丹县| 丰城市| 井冈山市| 巴东县| 古田县| 巴彦淖尔市| 翁源县| 宁阳县| 蓝山县| 东乡族自治县| 海口市| 浮山县| 昌吉市| 易门县| 江源县| 张家川| 宽城|