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

南京网站设计公司济南兴田德润简介图片seo深圳网络推广

南京网站设计公司济南兴田德润简介图片,seo深圳网络推广,设计师网络叫法,丰台房城乡建设委网站一、需求背景 我们公司用gitea搭建了一个git服务器,其中支持win7的最高版本是v1.20.6。 我们公司的电脑在任何时候都不能连接外网,但是希望将一些开源的仓库移植到内网的服务器来。一是有相关代码使用的需求,二是可以建设一个内网能够查阅的…

一、需求背景

我们公司用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,然后推送到同名的内网服务器仓库中。

http://www.hkea.cn/news/84788/

相关文章:

  • 专业做酒店网站关键词优化排名软件流量词
  • 做网站推广代理上海网络推广服务
  • wordpress可以做大吗搜索引擎优化的英语简称
  • 民治专业做网站公司中国企业500强排行榜
  • 潍坊 公司 网站seo点击排名器
  • 网站可以做赌博广告建站宝盒
  • 运城市做网站英文seo外链
  • 江宁网站建设如何建立网上销售平台
  • 淄博企业网站建设有限公司搜索引擎关键词竞价排名
  • 网站的优点企业专业搜索引擎优化
  • 哪里有软件开发培训机构无锡seo培训
  • 网站怎么做反链seo是什么品牌
  • 技术型网站做哪一种好软文范例大全100
  • 百度搜索什么关键词能搜到网站seo高效优化
  • 网站搭建分站需要多少钱互联网营销策划
  • 音乐网站的音乐怎么做seo先上排名后收费
  • 清河做网站报价seo实战培训王乃用
  • wordpress 回收站在哪个文件夹营销方式和手段
  • 垂直型电商网站如何做快速排名软件哪个好
  • 做产品推广有网站比较好的免费自助建站平台
  • 番禺网站建设公司排名百度推广页面投放
  • 沈阳做微网站百度收录刷排名
  • 网站建设与管理技术发展seo是什么意思如何实现
  • 手机游戏开发制作公司最新seo视频教程
  • 网站优化过度被k长春seo排名公司
  • wordpress移除谷歌字体seo网站推广与优化方案
  • 十大景观设计公司排名seo权重查询
  • 水友做的yyf网站十大免费引流平台
  • 东莞公司网站制作百度识图网页版 在线
  • 企业级网站内容管理解决方案网站关键词快速排名服务