一.明确需求,日常工作中使用的代码管理工具是Gitlab,但是我们需要Gitee也要有一份跟Gitlab代码库中的同样的代码并且Gitlab有新的提交就自动同步到Gitee。
二.入坑前准备工作
①分别注册gitlab账户和gitee账户
②需要在gitlab添加一个SSH密钥,如果不添加,在本地就没有操作远程仓库的权限(提交推送的权限)。gitee不需要这一步。
③需要在gitlab新建一个空的仓库,gitee也一样新建一个跟gitlab一样的空仓库。为了两个仓库一至性,尽可能保持仓库命名一至。
④下载安装Git
三.开始入坑,首先获取和配置gitlab密钥,(没有gitlab账户自行注册)
①新建一个本地的代码库,Git安装成功后,在该代码库文件夹下,右键,选择Git Bash Here
②使用 git init 初始化命令,意思是把当前文件夹或目录初始化为本地仓库
git init
③设置用户信息,用户名和邮箱直接填gitlab的账户即可,不用填gitee的。因为我们要做的是把代码推到gitlab ,gitlab再自动把代码同步推到gitee
git config --global user.name "你的gitlab账户名"
git config --global user.email "你的gitlab邮箱"
入坑小技巧
⑴.填写完账户名后,敲回车。如果Git没有任何提示,即代表设置用户名成功。邮箱设置也一样
④使用命令获取SSH公钥密钥。会生成四个文件。其中id_rsa.pub是公钥、id_rsa是密钥。
ssh-keygen -t rsa -C "gitlab注册的邮箱"
入坑小技巧
⑴.在Gitlab配置的时候,只需要把公钥配置进去即可。
⑵.输入获取密钥命令后,全部默认敲回车。生成密钥成功后会在本地C盘,用户,用户名的文件夹下面,生成.shh文件夹
四.密钥获取成功后,需要在gitlab进行配置公钥。注意这里配置的是公钥
①打开gitlab,点击右上角头像,找到设置
②找到 SSH Keys
③打开公钥文件,公钥文件的后缀是.pub。复制粘贴到文本框,点击添加。
④刷新页面后,显示Your SSH keyys 代表公钥添加成功。
五.公钥配置成功后,代表着有权限能把本地代码推送到gitlab.那接下来,进行配置把该仓库自动同步到gitee
①在gitee创建一个与gitlab同样名称的仓库,如果没有gitee账户,自行注册。
②gitee创建创建好后,复制HTTPS地址
③打开gitlab,点击Projects,打开需要同步至gitee的仓库
④如图,这个是我需要同步的仓库
⑤打开该仓库的Seteings 找到Repository
⑥找到Mirroring repositories,点击Expand
⑦ 把刚才在gitee复制的HTTPS 地址粘贴到URL里面,Psaaword里面填写gitee账户的密码。
注意事项,URL复制过来后,需要进行以下改动。
⑴.例如,https://gitee.com/xxx/xxx.git 这个是gitee仓库同步地址,我的gitee账户名称是[email protected]
⑵.那么如上的url不能直接添加,还需要在该地址前面添加上你的gitee账户名称
格式如下,https://[email protected]@gitee.com/xxx/xxx.git
修改前:
修改后:
⑷.添加成功后,一旦gitlab有新的提交,这里就会显示同步至gitee的时间和次数。
本页面是在Mirroring repositories里面,点开Expand往下拉即可看到。
⑸.设置成功后,也可以在gitlab仓库下面,可以看到自动同步一些相关策略
六.最后
就是进行一些常用的git 命令操作了。
//初始化
git init
//添加文件到暂存区
git add *
//提交文件
git commit -m "first commit"
//设置提交到远程仓库的地址
git remote add origin https://gitee.com/xxx/xxx.git
//推送到远程仓库
git push -u origin master
//其他命令,例如,强制推送到远程仓库,这样,会覆盖掉远程仓库代码
git push -f origin master
参考文章:(17条消息) Gitlib入门实例——(1)git连接远程仓库_藏进风里的博客-CSDN博客_gitlibhttps://blog.csdn.net/qq_37928038/article/details/85242302
gitlab项目仓库自动同步到码云gitee - 简书 (jianshu.com)https://www.jianshu.com/p/d99cec15dabe