Github进行fork后如何与原仓库同步

如果你提交的 pull request 未被接受且得到回复说:“重新fork”。说明在你fork之后,源仓库又更新了。

通常的做法是,删掉自己fork的库,然后再修改。但是如果fork中有大量已修改的内容时这个方法就不行了。

操作步骤

1、执行命令 git remote -v 查看你的远程仓库的路径。

$ git remote -v
origin  https://github.com/e282486518/mir-eternal.git (fetch)
origin  https://github.com/e282486518/mir-eternal.git (push)

2、设置上游代码库。

$ git remote add fork https://github.com/Suprcode/mir-eternal.git
$ git remote -v
fork    https://github.com/Suprcode/mir-eternal.git (fetch)
fork    https://github.com/Suprcode/mir-eternal.git (push)
origin  https://github.com/e282486518/mir-eternal.git (fetch)
origin  https://github.com/e282486518/mir-eternal.git (push)

3、如果代码有修改,需要先切换到master或者分支中,并且提交到本地对应分支。

# 切换到对应分支
git checkout master

# 提交代码到对应本地仓库
git add -A 或者 git add filename
git commit -m "your note"
git push origin master

4、执行命令 git fetch fork 抓取源原仓库的更新。

git fetch fork

5、合并源仓库的master分支到本地仓库。如果遇到冲突,在本地就先将冲突解决了

git merge fork/master

6、本地仓库向github仓库。

git push

7、在仓库中发起 pull request 合并到源仓库

这一步需要在网页中操作

微信截图_20220916181940.png

这里有一份config信息

[remote "origin"]
    url = https://github.com/e282486518/mir-eternal.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
    remote = origin
    merge = refs/heads/main
[remote "fork"]
    url = https://github.com/Suprcode/mir-eternal.git
    fetch = +refs/heads/*:refs/remotes/fork/*

附件信息

Github进行fork后如何与原仓库同步

此处评论已关闭