使用Git参加开源项目流程

首次开发

一、Fork到自己的仓库

登录自己的Github账号,找到想要参与的项目,点击Fork,就可以在自己的GitHub账户下创建一个区别于主仓库的分支仓库,以后自己的更改都会在自己的分支上进行,只有需要合入主仓库的时候,才会涉及到其他的操作,否则就像自己在开发一样

二、本地开发

  • git clone xxx,这里克隆的是自己的分支仓库
  • 本地开发,调试
  • git add .git commit -m "xxx"

三、合入主仓库

  • 同步到自己的远程仓库
  • 在自己的远程仓库下可以看到Pull Request,写入说明,提交,等待审核
  • 审核通过,一次开发流程结束(或者没成功merge,重新来)

后续开发

一、同步代码

等了一段时间,发现自己的远程仓库落后于主仓库:

具体而言就是主仓库还有其他开发者在不断去PR,合并了之后主仓库不断向前更新,但是和你的GitHub仓库没关系,和你的本地仓库更没有关系,你需要拉取最新的代码,然后再从最新的地方开始开发

为什么?

如果你继续在旧的分支上开发,等到你PR的时候,被其他开发者改动过的文件,在你这里还是旧版本,你的PR就会覆盖其他开发者的成果,而将其回退到旧的版本,应该会引发冲突而不能merge?(我猜的,没验证过,但既然开发流程是这样的,肯定有他的道理)

步骤:

# 添加上游仓库只需要一次,之后就从这个仓库拉取最新的代码
git remote add origin_online xxx
git pull origin_online master

# 将本地的新代码同步到自己的远程仓库
git push origin main

注意:

  • 远程应该还可以直接从GitHub上面sync,应该直接从Fork的源去同步的
  • 注意本地分支名称是不是和远程仓库的分支名是否一致,否则会出现:error: failed to push some refs to xxx

二、继续重复以上流程

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