当前位置: 首页 > news >正文

一行命令将已克隆的本地Git仓库推送到内网服务器

一、需求背景

我们公司用gitea搭建了一个git服务器,其中支持win7的最高版本是v1.20.6。

我们公司的电脑在任何时候都不能连接外网,但是希望将一些开源的仓库移植到内网的服务器来。一是有相关代码使用的需求,二是可以建设一个内网能够查阅的资料库。

外网的仓库是在不断更新的,我们不但希望下载到当时版本仓库的内容,还要有方法可以同步后续更新的内容。

我们自己也有可能对项目做出修改,但是这一部分是和开源项目不一致的内容,我们不希望这一部分也被推送。或者说是否同步我们希望自己来决定。

所以总共有这3种使用场景:

外网 本地 内网 首次推送 clone push Create 获取外网更新后推送 update pull push Update 本地开发后不影响远端 develop push Not update 外网 本地 内网

二、解决问题

分布式管理为著称的git,自然是可以在无广域网的情况下将本地仓库推送到内网服务器的。但是具体怎么操作呢?

2.1 不可行的方法

使用 git push origin 是常规的做法,但是只能推送本地分支。当然我可以将远端分支先检出到本地同名分支,然后再次推送。但是如果检出之前已经有了本地分支呢?我检出的时候不是破坏了已有的本地分支?

如果使用 git push origin origin/master,会将本地的 origin/master 分支,推送到服务器上的 origin/master 分支,这么做在Git服务浏览器上是看不到的,将来再次克隆的时候也拉不下来。

如果使用 git push origin --mirror 参数推送,会将仓库的所有分支推送到 gitea 服务器上,但是在Git服务器上啥也看不见。我推测这种方式推送是一比一平移,在服务器上存在的 origin/master 分支是看不到的,必须是 master 这样的分支才能在服务器中看到。

如果使用 git clone --bare 命令克隆裸仓库,然后用 git push --mirror 命令推送到内网,这种方法是可行的。但是克隆到本地的裸仓库没有办法继续开发,而且克隆的时候如果不是裸仓库呢?难道要再克隆一遍吗?

2.2 可行的解决方法

前面的方法不可行,是因为我将本地本地分支,推送到了远端本地分支(所以未检出到本地远端分支,推送不到远端)。

或者是将本地远端分支,推送到了远端远端分支(所以在远端服务器上看不到)。

而解决我们的需求,需要将本地远端分支,推送到远端本地分支。

如果在推送命令中添加一个冒号,例如:git push origin master:main,就可以将本地的 master 分支推送到远端的 main 分支。

那么能不能将本地的 origin/master 分支,推送到远端的 master 分支呢:

git push <URL> origin/master:master

运行报错:

git-push

错误提示我们没有使用完整引用名称full refname )。

改为使用完整引用名称,然后将分支名 master 替换成通配符 *,再加上推送标签的参数 --tags

git push --tags <URL> refs/remotes/origin/*:refs/heads/*

就可以把所有本地远端分支、以及标签,一起推送到内网服务器:

git-push-remotes

在网页端查看,已经将所有分支标签全都推送成功:

网页查看

这样做不需要在本地检出或者创建新分支。

但是会把 HEAD 作为一个分支名也推送上去。。唯一的一点遗憾了。

分支列表

三、自动化脚本

我写了一个自动化脚本,命名 git-push-remotes.bat

@echo offREM 读取文件夹名和拼接服务器网址
for %%i in ("%cd%") do set name=%%~ni
set url=http://<URL>/repos/%name%.gitREM 将本地的所有远端分支推送到远端的本地分支上
git push --tags %url% refs/remotes/origin/*:refs/heads/*
echo.pause

将文件复制到已克隆的本地仓库,然后双击运行。

就可以自动获取当前文件夹的名称,拼接成URL,然后推送到同名的内网服务器仓库中。

相关文章:

一行命令将已克隆的本地Git仓库推送到内网服务器

一、需求背景 我们公司用gitea搭建了一个git服务器&#xff0c;其中支持win7的最高版本是v1.20.6。 我们公司的电脑在任何时候都不能连接外网&#xff0c;但是希望将一些开源的仓库移植到内网的服务器来。一是有相关代码使用的需求&#xff0c;二是可以建设一个内网能够查阅的…...

Linux文本处理三剑客(详解)

一、文本三剑客是什么&#xff1f; 1. 对于接触过Linux操作系统的人来说&#xff0c;应该都听过说Linux中的文本三剑客吧&#xff0c;即awk、grep、sed&#xff0c;也是必须要掌握的Linux命令之一&#xff0c;三者都是用来处理文本的&#xff0c;但侧重点各不相同&#xff0c;a…...

AI在线UI代码生成,不需要敲一行代码,聊聊天,上传图片,就能生成前端页面的开发神器

ioDraw的在线UI代码生成器是一款开发神器&#xff0c;它可以让您在无需编写一行代码的情况下创建前端页面。 主要优势&#xff1a; 1、极简操作&#xff1a;只需聊天或上传图片&#xff0c;即可生成响应式的Tailwind CSS代码。 2、节省时间&#xff1a;自动生成代码可以节省大…...

go-zero整合单机版ClickHouse并实现增删改查

go-zero整合单机版ClickHouse并实现增删改查 本教程基于go-zero微服务入门教程&#xff0c;项目工程结构同上一个教程。 本教程主要实现go-zero框架整合单机版ClickHouse&#xff0c;并暴露接口实现对ClickHouse数据的增删改查。 go-zero微服务入门教程&#xff1a;https://b…...

行政工作如何提高效率?桌面备忘录便签软件哪个好

在行政管理工作中&#xff0c;效率的提高无疑是每个行政人员都追求的目标。而随着科技的发展&#xff0c;各种便捷的工具也应运而生&#xff0c;其中桌面备忘录便签软件便是其中的佼佼者。那么&#xff0c;这类软件又如何帮助我们提高工作效率呢&#xff1f; 首先&#xff0c;…...

利用向日葵和微信/腾讯会议实现LabVIEW远程开发

利用向日葵远程控制软件结合微信或腾讯会议的视频通话功能&#xff0c;可以实现LabVIEW的远程开发和调试。通过向日葵进行远程桌面访问&#xff0c;配合视频通话工具进行实时沟通与问题解决&#xff0c;不仅提高了开发效率&#xff0c;还减少了地域限制带来的不便。介绍这种远程…...

SpringBoot 单元测试 指定 环境

如上图所示&#xff0c;在配置窗口中添加--spring.profiles.activedev&#xff0c;就可以了。...

Flutter 中的 SliverOpacity 小部件:全面指南

Flutter 中的 SliverOpacity 小部件&#xff1a;全面指南 Flutter 是一个功能强大的 UI 框架&#xff0c;由 Google 开发&#xff0c;允许开发者使用 Dart 语言来构建高性能、美观的跨平台应用。在 Flutter 的滚动组件体系中&#xff0c;SliverOpacity 是一个用来为其子 Slive…...

源码分析の前言

源码分析路线图&#xff1a; 初级部分&#xff1a;ArrayList->LinkedList->Vector->HashMap(红黑树数据结构&#xff0c;如何翻转&#xff0c;变色&#xff0c;手写红黑树)->ConcurrentHashMap 中级部分&#xff1a;Spring->Spring MVC->Spring Boot->M…...

接口性能测试复盘:解决JMeter超时问题的实践

在优化接口并重新投入市场后&#xff0c;我们面临着一项关键任务&#xff1a;确保其在高压环境下稳定运行。于是&#xff0c;我们启动了一轮针对该接口的性能压力测试&#xff0c;利用JMeter工具模拟高负载场景。然而&#xff0c;在测试进行约一分钟之后&#xff0c;频繁出现了…...

[数据集][目标检测]猕猴桃检测数据集VOC+YOLO格式1838张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1838 标注数量(xml文件个数)&#xff1a;1838 标注数量(txt文件个数)&#xff1a;1838 标注…...

摸鱼大数据——Hive函数7-9

7、日期时间函数 Hive函数链接&#xff1a;LanguageManual UDF - Apache Hive - Apache Software Foundation SimpleDateFormat (Java Platform SE 8 ) current_timestamp: 获取时间原点到现在的秒/毫秒,底层自动转换方便查看的日期格式 常用 to_date: 字符串格式时间…...

python连接数据库

python连接MYSQL、postgres、oracle等的基本操作 python连接mysql MySQLdb MySQLdb又叫MySQL-python &#xff0c;是 Python 连接 MySQL 的一个驱动&#xff0c;很多框架都也是基于此库进行开发&#xff0c;只支持 Python2.x&#xff0c;而且安装的时候有很多前置条件&#…...

能不能接受这些坑?买电车前一定要看

图片来源&#xff1a;汽车之家 文 | Auto芯球 作者 | 雷慢 刚有个朋友告诉我&#xff0c;买了电车后感觉被骗了&#xff0c; 很多“坑”都是他买车后才知道的。 不提前研究&#xff0c;不做功课&#xff0c;放着我这个老司机不请教&#xff0c; 这个大冤种他不当谁当&…...

k8s中pod如何排错?

排除Kubernetes Pod故障通常涉及一系列步骤&#xff0c;以诊断问题并找到解决方案。以下是一些常见的故障排除方法&#xff1a; 检查Pod状态: 使用kubectl get pods查看Pod的状态。如果Pod没有处于Running状态&#xff0c;查看更详细的信息&#xff0c;使用kubectl describe …...

【手撕面试题】Vue(高频知识点二)

每天10道题&#xff0c;100天后&#xff0c;搞定所有前端面试的高频知识点&#xff0c;加油&#xff01;&#xff01;&#xff01;&#xff0c;在看文章的同时&#xff0c;希望不要直接看答案&#xff0c;先思考一下自己会不会&#xff0c;如果会&#xff0c;自己的答案是什么&…...

四、.Net8对接Ollama实现文字翻译(.Net8+SemanticKernel+Ollama)本地运行自己的大模型

.Net8SemanticKernelOllama 一、Semantic Kernel官方定义SK能做什么&#xff1f; 二、基本使用1、普通对话2、使用插件实现文本翻译功能 三、IChatCompletionService、ITextGenerationService、ITextEmbeddingGenerationService 很多情况都有这样的需求&#xff0c;使用自有系统…...

初始C++

感谢大佬的光临各位&#xff0c;希望和大家一起进步&#xff0c;望得到你的三连&#xff0c;互三支持&#xff0c;一起进步 个人主页&#xff1a;LaNzikinh-CSDN博客 文章目录 前言一.引用二.内联函数三.类和对象总结 前言 之前讲c的命令空间和第一个程序的运行&#xff0c;继…...

Chapter 5 Current Mirrors and Biasing Techniques

Chapter 5 Current Mirrors and Biasing Techniques 这一章介绍电流镜 5.1 Basic Current Mirrors MOS工作在饱和区, 表现为一个电流源. 考虑电源变化, PVT波动, 我们会首先产生一路精准电流源, 再复制这路电流. 如何复制呢? 电流转电压再转电流就行了, 如下图所示 考虑到…...

Avalonia Image控件上通过鼠标拖动画出矩形框

注册鼠标事件&#xff1a;首先&#xff0c;你需要注册 Image 控件上的鼠标事件&#xff0c;包括 PointerPressed、PointerMoved 和 PointerReleased。你可以在 XAML 文件或代码中注册这些事件。 <Image PointerPressed"Image_PointerPressed" PointerMoved"…...

掌握微信聊天记录数据备份与隐私保护全攻略

掌握微信聊天记录数据备份与隐私保护全攻略 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg 在数字化社交…...

别只写对话了!Ren‘Py高级玩家都在用的5个隐藏技巧:转场、音效、变量与存档

别只写对话了&#xff01;RenPy高级玩家都在用的5个隐藏技巧&#xff1a;转场、音效、变量与存档 当你已经能够用RenPy制作基础视觉小说时&#xff0c;是否发现自己的作品总像"电子版小说"&#xff1f;真正的商业级作品会通过动态转场、环境音效、分支剧情等设计让玩…...

别再只用CPU了!手把手教你用CUDA C++写第一个GPU并行程序(附完整代码)

从零开始&#xff1a;用CUDA C解锁GPU并行计算的实战指南 如果你是一名C开发者&#xff0c;可能已经习惯了在CPU上编写串行代码。但当你面对海量数据计算时&#xff0c;是否曾感到CPU力不从心&#xff1f;现代GPU拥有数千个计算核心&#xff0c;能够同时执行大量线程&#xff0…...

**用Python打造高保真语音合成系统:从原理到实战部署**在人工智能飞速发展的今天,语音合成(TTS,Text-to-Speech

用Python打造高保真语音合成系统&#xff1a;从原理到实战部署 在人工智能飞速发展的今天&#xff0c;语音合成&#xff08;TTS, Text-to-Speech&#xff09;已不再是实验室里的“玩具”&#xff0c;而是广泛应用于智能客服、有声读物、无障碍交互等多个场景的核心技术。本文将…...

Conda镜像源配置的3个高级玩法与1个常见大坑:不止是换URL那么简单

Conda镜像源配置的3个高级玩法与1个常见大坑&#xff1a;不止是换URL那么简单 当你在团队协作中遇到TensorFlow版本冲突&#xff0c;或是Docker构建时因网络问题卡在Solving environment步骤&#xff0c;基础镜像源切换早已不够用。真正的高手会在.condarc里埋下这些彩蛋&#…...

TradingAgents-CN:5分钟搭建你的AI投资智囊团,让普通人也能拥有专业金融分析能力

TradingAgents-CN&#xff1a;5分钟搭建你的AI投资智囊团&#xff0c;让普通人也能拥有专业金融分析能力 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-…...

PS插件开发:LiuJuan20260223Zimage图像处理扩展

PS插件开发&#xff1a;LiuJuan20260223Zimage图像处理扩展 为Photoshop插上AI的翅膀&#xff0c;让图像处理更智能高效 1. 引言&#xff1a;当Photoshop遇见AI图像处理 作为一名长期与Photoshop打交道的设计师&#xff0c;你是否曾经遇到过这样的困扰&#xff1a;需要批量处理…...

通义千问1.5-1.8B-Chat-GPTQ-Int4 WebUI轻量化优势:对比传统方案在边缘计算场景下的潜力

通义千问1.5-1.8B-Chat-GPTQ-Int4 WebUI轻量化优势&#xff1a;对比传统方案在边缘计算场景下的潜力 最近在折腾一些边缘设备上的AI应用&#xff0c;发现一个挺有意思的现象&#xff1a;大家一提到部署大模型&#xff0c;脑子里蹦出来的第一个念头往往是“得找个性能强劲的服务…...

5大实战技巧让你精通FDS火灾动力学模拟技术

5大实战技巧让你精通FDS火灾动力学模拟技术 【免费下载链接】fds Fire Dynamics Simulator 项目地址: https://gitcode.com/gh_mirrors/fd/fds 当一场突如其来的火灾发生时&#xff0c;传统的消防设计往往只能依靠经验估算&#xff0c;而FDS&#xff08;Fire Dynamics S…...

3.28 学习笔记

3.28 学习笔记web金融项目实战1.对于需求分析仔细研读需求规格说明书&#xff0c;以及相关文档&#xff0c;理解项目的目标和流程2.对于编写测试点&#xff08;1&#xff09;进行界面检查&#xff08;2&#xff09;从正确的业务流程编写&#xff0c;执行&#xff0c;查看对应功…...