Git同步一个仓库代码到另一个仓库

Git同步一个仓库代码到另一个仓库_第1张图片

1、git pull

在当前仓库操作,更新代码库

2、git remote

查看当前仓库origin只有一个,接下来我们要add另一个仓库的origin

3、git remote add newOrigin master

newOrigin远程仓库名称,可以随便起个方便记忆的,目的是在本地添加一个新的远程连接

git remote add newOrigin master

newOrigin后面是newOrigin的一个分支,可以指定为master或你要push的目标分支,都可以。执行完命令后可以再次通过 git remote 查看现在的有几个origin

4、git remote set-url newOrigin xxx.git

这里是新加个远程连接 设置上目标仓库的url地址

git remote set-url newOrigin xxx.git

5、git push newOrigin master:master

newOrigin 是你想push上哪个远程库,冒号左边是你想push哪个分支,冒号右边是push到远程的那个分支。最好是先切换到要push的当前分支上,然后再push

# 切换到当前分支master
git checkout master

# newOrigin是另一个仓库的orgin,含义是把当前分支master推到目标分支master上
git push newOrigin master

Git同步一个仓库代码到另一个仓库_第2张图片

注意事项:

异常情况一:远程同步报错提示新的仓库没有更新

5中命令可能会报错提示新的仓库没有更新,需要在当前分支上先同步目标分支,如果有冲突需解决冲突,之后就可以push了

Git同步一个仓库代码到另一个仓库_第3张图片

! [rejected]              master -> master (fetch first)
error: 推送一些引用到 'xxx.git' 失败
提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外
提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
提示:(如 'git pull ...')。
提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。

解决方法:使用 git pull newOrigin 目标分支 --allow-unrelated-histories 来同步代码

git checkout master
git pull newOrigin master --allow-unrelated-histories

异常情况二:异常情况一操作后可能会提示需要合并代码

error: You have not concluded your merge (MERGE HEAD exists).
hint: please commit your changes before merging.
fatal: Exiting because of unfinished merge.

解决方法:提交有变更的代码

git add .
git commit
git push .

异常情况三:异常情况一操作后可能会提示代码冲突

Git同步一个仓库代码到另一个仓库_第4张图片 

CONFLICT (add/add) : Merge conflict in README.md
Auto-merging README.md
CONFLICT (add/add) : Merge conflict in .gitignore
Auto-merging.gitignore
Automatic merge failed; fix conflicts and then commit the result.

解决方法:解决冲突代码并提交代码

你可能感兴趣的:(Git,git)