跳到主要内容

GitHub 仓库快速导入 Gitee 及同步更新

一、仓库导入

登陆 Gitee 账号,点击右上角的 + 号,点击「从 GitHub 导入仓库」,在跳转的页面中授权 Gitee 访问。

输入图片说明

与 GitHub 对接。

输入图片说明

选择性的导入您的 Github 项目到 Gitee

输入图片说明

  • 如果是开源的仓库,直接点击创建即可,导入完成即进入相应 Gitee 的仓库页面(导入速度可能会因仓库大小、网络状况而有所差异,请耐心等待)

  • 如果是私有仓库,需要登录有权限操作该仓库的 GitHub 账号进行授权,授权后结果同上

二、Gitee 和 Github 同步更新

方法一(推荐):比较少分支的仓库

如果是本地仓库,只在需要命令行添加用不同名称标识的 Gitee  和 Github 远程库。

git remote add 远程库名 远程库地址

输入图片说明

具体方法操作如下:

1、首先通过 git remote -v 查看您要同步的仓库的远程库列表,如果在列表中没有您 Gitee 的远程库地址,您需要新增一个地址

git remote add 远程库名 远程库地址
# eg: git remote add gitee git@github.com:xxx/xxx.git

如果在 add 的时候出现 error: Could not remove config section 'remote.xxx'.一类的错误,通过把仓库下.git/config 文件里面的 [remote "xxx"] 删掉或者是用别的远程库名即可。

2、从 GitHub 上拉取最新代码到本地

git pull 远程库名 分支名
# eg:git pull origin master

3、推送本地最新代码到 Gitee 上

git push 远程库名 分支名
# eg:git push gitee master

如果出现有差异的话需要自己手动解决差异

方法二(推荐):比较多分支的仓库

1、克隆 GitHub 仓库到本地,命令如下

git clone git@github.com:xxx/xxx.git
# 进入仓库目录
cd xxx

2、一次性拉取该仓库的所有分支,命令如下:

for b in`git branch -r | grep -v -- '->'`; do git branch --track ${b##origin/} $b; done

命令简单解释:

  • | 表示通道,即前面命令的输出是后面命令的输入。
  • for xxx in xxxs; do xxx; done 是 shell 的 for 循环语句。
  • 倒引号 ``` 表示里面的是命令。
  • git branch -r 列出远程分支。
  • grep -v – '->' ,grep 查找命令,-v 参数表示 not grep,即查找输入中的不含'->'的行。
  • git branch -r | grep -v – '->' 合起来就是参看远程分支中除了含有'->'的分支。
  • $b 表示远程分支名,例如 origin/dev
  • ${b##origin/} 表示截取远程分支名中 origin/后面的内容,例如:dev,以此当做本地分支。
  • git branch --track ${b##origin/} $b 表示类似于方法 1 的 git branch dev origin/dev–track 参数是默认的,不加亦可。

3、查看所有分支(包括本地和远程仓库分支)

git branch --all

4、推送本地仓库到 Gitee 上

方法三:比较多分支的仓库

在 Gitee 仓库主页点击同步更新按钮即可!

输入图片说明

这里的同步功能默认是强制同步(新代码直接覆盖)


参考文章:https://blog.gitee.com/2018/06/05/github_to_gitee/