一、应用场景

将主仓代码同步到个人的代码仓,以开源github上pytest代码为例,比如开源git地址为 git@github.com:pytest-dev/pytest.git,fork到个人仓git地址为:git@github.com:jopa5210/pytest.git

(1)在本地初始化一个pytest的代码仓,因为还没有和远端代码仓关联,因此这里看不到什么关联关系,git remote -v 即为查看本地仓库和远端仓库的关联关系的
WX20220511-112920.png

(2)将本地仓库和远端个人仓和公共代码仓关联,个人仓远端地址名为origin,公共代码仓地址名为upstream,这是通用的名称,当存在更多远端代码仓时,还可以自己定义远端代码仓比如gitee

[root@hecs-73797 demo]# git init
已重新初始化已存在的 Git 仓库于 /root/demo/.git/
[root@hecs-73797 demo]# git remote -v

[root@hecs-73797 demo]# git remote add origin git@github.com:jopa5210/pytest.git
[root@hecs-73797 demo]# git remote -v
origin  git@github.com:jopa5210/pytest.git (fetch)
origin  git@github.com:jopa5210/pytest.git (push)

[root@hecs-73797 demo]# git remote add upstream git@github.com:pytest-dev/pytest.git
[root@hecs-73797 demo]# git remote -v
origin  git@github.com:jopa5210/pytest.git (fetch)
origin  git@github.com:jopa5210/pytest.git (push)
upstream        git@github.com:pytest-dev/pytest.git (fetch)
upstream        git@github.com:pytest-dev/pytest.git (push)

[root@hecs-73797 demo]# git remote add gitee git@gitee.com:fyszy/pytest.git
[root@hecs-73797 demo]# git remote -v
gitee   git@gitee.com:fyszy/pytest.git (fetch)
gitee   git@gitee.com:fyszy/pytest.git (push)
origin  git@github.com:jopa5210/pytest.git (fetch)
origin  git@github.com:jopa5210/pytest.git (push)
upstream        git@github.com:pytest-dev/pytest.git (fetch)
upstream        git@github.com:pytest-dev/pytest.git (push)

(3) 代码同步:首先本地切换到通远端同一个名称的分支名,然后从origin分支拉取代码,这里我们指导upstream是官方的代码,因此,需要从uptream拉取官方代码,然后合入到本地分支,再从本地分支推送到origin个人远端仓和gitee码云平台的远端仓,这样就做到了github个人代码仓和gitee代码仓通github上官方代码仓代码同步了

git checkout -b main
git pull origin main
git fetch upstream
git merge upstream/maiin
git push origin main
git push gitee main
最后修改:2022 年 05 月 11 日
如果觉得我的文章对你有用,请随意赞赏