一般fork之后立刻:
git branch --set-upstream-to=upstream/main main
然后每次贡献时:
git checkout main
git pull
git checkout -b feat/something
然后push这个分支并提PR就可以了。
分支对应的remote关系为:
main -> upstream/main
feat/something -> origin/feat/something
这样的做法,你的 origin/main 永远不用更新,于是也永远不需要做合并上游这个动作,甚至它可以不存在,因为根本没用到它。而你本地的main分支永远只包含上游的变更。这是我用的一些例子:
可以发现自从fork之后这个main就再也没更新过,一直停留在当时那个commit。但丝毫不影响我贡献的。