一、导入其他仓库
我们这里以GitHub导入Gitee仓库为例,在我们新建仓库的时候,可以选择导入其他仓库,如图所示,
直接把另外一个仓库的地址复制到地址栏点击开始导入即可。
二、通过修改.git下的config文件同步上传
在我们的项目中,有这么一个神奇的存在,如下图;没有看到.git文件的话,选择勾上隐藏的项目
打开.git文件下的config配置文件
修改“origin”
打开配置文件,新增另外一个需要上传的git仓库就行了;修改好之后保存,发现两边的仓库地址都同步了提交的内容。
三、通过.sh脚本文件同步上传
那么通过.sh脚本怎么上传呢
.sh文件又是什么呢,可以阅读我的另外一篇文章简单学习一下 .sh文件是什么?前端需要知道的shell基础。当然不会也没关系,可以先实践一下,再去学习;
新建一个git.sh文件
# 回到本地仓库,先删除名为origin的远程分支:
git remote rm origin
git remote rm GitHub
git remote rm Gitee
git add .
# 获取命令行的第一个参数作为提交信息
git commit -m "$1"
# 添加多个远程仓库
git remote add GitHub https://github.com/lakei-edward/vue-webpack.git
git remote add Gitee https://gitee.com/lakeiedward/vue-webpack.git
# 上传到仓库主分支
git push GitHub master
git push Gitee master
为什么要git remote
删除三次呢,第一次从远程拉下的最原始的式origin,那么通过git.sh
提交过一次之后,origin就没了,变成了GitHub
和Gitee
,所以要先清除,再通过remote add
添加进去;其实这种方式就式和上面手动修改config文件是一样的,只不过是通过命令修改;
如何执行git.sh文件
在cmd
和powerShell
中是不能执行.sh文件的,此时我们要借助于git
的bash
来执行;我们在项目的根目录中右键打开Git Bash
,执行sh git.sh 修改git脚本
,即可上传成功。那执行的sh git.sh 修改git脚本
中 修改git脚本
是什么?其实就是我们commit提交的日志信息,传到.sh文件中的$1中
如何通过vscode终端直接执行.sh文件呢?
每次都要去文件中打开Git Bash
是不是很麻烦,对于我这么懒的人是不允许存在滴,有没有什么方法可以直接在vscode终端中直接执行.sh文件呢?当然是有的,办法总比困难多,
可以参考我的另外一篇文章 如何在VS Code中把默认终端设置为Bash
四、两种不同区别的上传有什么不同
- 第一种:通过手动修改
config
文件 - 第二种:通过
.sh
文件上传
我们使用第一种上传时,有没有发现一种问题,虽然我们手动修改了config
文件里面的内容,但是当我们再从GitHub
或者Gitee
上面clone
到本地时,config
里面配置又恢复到原始了,所以说我们每次clone
到本地的时候都要修改,可能吗,这时不可能滴,一辈子不可能滴。
第二种上传方式就避免了这种问题,每次执行git.sh
文件就行了,不用管config
中的配置了;
推荐指数
- 第一种 ⭐⭐ ⭐
- 第二种 ⭐ ⭐ ⭐ ⭐ ⭐