阅读 49

Git pull request

git pull request

当我们要给一个项目添加代码,但是它的主分支master不允许修改时,或者非此项目中的开发人员,想贡献代码。这个时候,最好的方式就是prpull request

什么是pull request

可能每个人对这个词都有不一样的理解。表面上看,像是一个pull请求,但是实际中,是我们请求别人pull。这样理解可能不是很正确。我们来一个通俗易懂的方式来解释下。

我们在生活中经常需要去修改任务或者代码。当我们把别人的文档拿过来修改,这个是clone或者是fork
我们把修改的内容添加注释,这相当于commit
之后我们会把我们的修改提交,这个就是push
然后我们会告诉文档的所有人,修改好了,拿去吧,这个就是pull request
至于文档最后的结果,如果他合并了就是merge,没有合并,我们的pull request会被关闭。

如何发起pull request

  1. fork别人的仓库,相当于拷贝一份到你的GitHub上,一般都不会有人让你直接动master
  2. clone 到本地分支,做一些bug fix
  3. 发起pull request给原仓库,让它看到你的修改
  4. 原仓库 review 这个 bug,如果是正确的话,就会 merge 到他自己的项目中

至此,整个 pull request 的过程就结束了。

注意事项

1. 给fork配置远程库

  • 查看远程状态
       git remote -v复制代码
  • 确定一个将被fork的远程仓
       git remote add upstream https://github.com/XXX.git复制代码
  • 再次查看状态确认添加成功

2. 我们的pull request的时候可能会遇到提示,落后10个提交

这个时候,我们需要先关闭我们的请求,直接提交,可能会产生冲突。我们需要在自己的本地更新到最新的代码,再提交。

  • 从上游仓库fetch分支和提交点,提交给本地master,并会被存储在一个本地分支 upstream/master
      git fetch upstream复制代码
  • 切换到本地主分支(如果不在)
     git checkout master复制代码
  • upstream/master 分支合并到本地master上,这样就完成了同步,并且不会丢失本地修改的内容。
    git merge upstream/master
复制代码
  • 更新到github 的 fork 上
     git push origin master复制代码
文章分类
前端
文章标签