将本地代码同步到 gitee 和 github 中去
今天给大家介绍一个怎么使用,把我们本地的仓库推到 gitee 和 github 上面去。现在远程仓库有两个,一个是 gitee 和 github 远程仓库,地址对应的我本地也就是 work space。
第一步,在 gitee 和 github 中建立仓库地址
注册 gitee 和注册 github,直接通过官网注册
gitee 官网https://gitee.com/
github 官网https://github.com/
本地也需要安装 git
第二步,在本地的某个文件夹新家 git 仓库
在本地 D:\work\workspace 中初始化 git
然后在 workspace 中会产生一个.git 的文件夹
第三步, 关联远程仓库地址
1.添加 github
本地仓库 workspace,右键打开 gitbsah,输入下面命令
git remote add github git@github.com:xxxx/javaCore.git
复制代码
2.添加 gitee
本地仓库 workspace,右键打开 gitbsah,输入下面命令
git remote add gitee git@gitee.com:xxx/java-Core.git
复制代码
以上仓库地址,更具自己注册实际来填写
第四步,修改当前仓库地址中的 .git 的 config 配置
在执行 git init 的文件夹下,打开.git,有一个 config 文件,修改配置
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "github"]
url = git@github.com:xxxx/javaCore.git
fetch = +refs/heads/*:refs/remotes/github/*
[remote "gitee"]
url = git@gitee.com:xxx/java-Core.git
fetch = +refs/heads/*:refs/remotes/gitee/*
[branch "master"]
remote = origin
merge = refs/heads/master
复制代码
将 filemode = false 改为 true
第五步,查看远程仓库地址
执行下面指令
可以查看到有远程仓库地址
$ git remote -v
gitee git@gitee.com:xxx/java-Core.git (fetch)
gitee git@gitee.com:xxx/java-Core.git (push)
github git@github.com:xxx/javaCore.git (fetch)
github git@github.com:xxx/javaCore.git (push)
复制代码
以上就是添加完成的仓库地址
第六步,添加密钥,并检查密钥是否可行
1.生成 ssh 密钥
windows 系统中打开 cmd
执行下面这个命令
ssh-keygen -t rsa -C xxxxxx@qq.com
复制代码
然后一路回车健,默认会生成到 C:\Users\DELL\.ssh 这个地址然后打开.ssh,会生成 id_rsa,id_rsa.pub,这一对公私钥,把公钥 id_rsa.pub 用编辑器打开
2.添加 ssh 密钥
在 gitee 和 github 的个人信息中添加 ssh 公钥,登陆自己 gitee 账户,和 github 账户
3.检查是否添加成功
ssh -T git@gitee.com
ssh -T git@github.com
复制代码
会出现 You've successfully authenticated。你已经通过验证
第七步,测试提交代码
1.添加测试文件
在本地 workspace 中新建一个 test.txt 文件
2.推送到远程仓库
git pull gitee master
git pull github master
git add .
git commit -m "test file"
git push gitee master
git push github master
复制代码
在远程端,查看刚刚添加的文件
第八步,常见错误总结
在这个过程中遇到的一些坑,在下面总结
$ git pull gitee master
From gitee.com:xxx/java-Core
* branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories
$ git add .
DELL@felix MINGW64 /d/work/workspace (master)
$ git push gitee master
To gitee.com:xxxxx/java-Core.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'gitee.com:xxxx/java-Core.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 pull gitee master
From gitee.com:xxxxx/java-Core
* branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories
git pull origin master --allow-unrelated-histories
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
git pull gitee master --allow-unrelated-histories
From gitee.com:xxxx/java-Core
* branch master -> FETCH_HEAD
Merge made by the 'recursive' strategy.
LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 201 insertions(+)
create mode 100644 LICENSE
$ git pull gitee master
From gitee.com:xxxxx/java-Core
* branch master -> FETCH_HEAD
Already up to date
复制代码
第九步,个人总结
想着已学习的方式,将本地代码,把本地代码同步到不同的远程仓库中去,以记录学习为主目的,掌握技能为主要想法,如果有说的或是做的不对的地方,请多指正,我认为在不同的讨论中肯定回得不一样的答案,欢迎提出不同的声音,谢谢大家!
评论