文章目录
Gitee导入Github仓库并同步更新
Gitee导入Github仓库并同步更新的内容看这篇
我在执行直接在gitee上选择从github/gitlab导入仓库
的时候一直是导入失败,我就先把github上的项目下载下来,然后进行本地导入gitee上的,导入到GitHub的步骤也是一样的
将仓库clone到本地
git clone xxx.git
本地仓库与 Gitee 和 GitHub 两个远程库关联
- 查看本地仓库的远程库列表
git remote -v
例如我想上传的是gitee上面的,但之和github相连,并且名称为origin,在列表中没有 Gitee 的远程库地址,则需要新增一个地址 - 远程库名 远程库地址
git remote add
eg:eg: git remote add gitee git@gitee.com:xxx/xxx.git
如果在 add 的时候出现 error: Could not remove config section ‘remote.xxx’.
一类的错误,通过把仓库下.git/config 文件里的 [remote “xxx”]删除或者是用其他远程库名即可。
如果原本只有 GitHub 一个远程库,则要注意,git 给远程库起的默认名称是 origin,需要用不同的名称来标识不同的远程库(GitHub & Gitee),则先删除已关联的名为 origin 的远程库:git remote rm origin
然后,先关联GitHub的远程库:git remote add github
远程库地址;eg:git remote add github git@github.com:xxx/xxx.git
注意,远程库的名称叫 github,不叫 origin 了。
接着,再关联 Gitee 的远程库:git remote add gitee
远程库地址
eg:git remote add gitee git@gitee.com:xxx/xxx.git
同样注意,远程库的名称叫 gitee,不叫 origin。
现在,用git remote -v查看远程库信息,可以看到两个远程库:
(我懒得改github的名字啦)
将本地文件上传到gitee/GitHub
git add .
将工作区的“新建/修改”添加到暂存区
git commit -m "提交日志"
将暂存区的内容提交到本地库
git push gitee 分支名
如果要推送到 Gitee使用的命令
git push github 分支名
如果要推送到 Github使用的命令
git push后出现错误 ![rejected] master -> master(non-fast-forward)
出现的错误
们提交代码git push
后出现如下错误提示
$ git push -u origin master
To https://gitee.com/xxxxx/vue_shop.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://gitee.com/xxxxx/vue_shop.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
原因
Git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。
远程仓库和本地仓库存在差异。
一般都是因为你在码云创建的仓库有ReadMe文件,而本地没有,造成本地和远程的不同步。
解决方法
方法一、同步(我用的是这个)
1、git pull origin master --allow-unrelated-histories //把远程仓库和本地同步,消除差异
2、重新add和commit相应文件
3、git push origin master
4、此时就能够上传成功了
如果只是因为本地没有ReadMe文件,那么就在本地生成一个
git pull --rebase origin master //本地生成ReadMe文件
git push origin master
方法二:强推
即利用强覆盖方式用你本地的代码替代git仓库内的内容,该命令会强制上传覆盖远程文件,慎用
git push -f origin master
方法三
先把git的东西fetch到你本地然后merge后再push
git fetch
git merge