因为公司使用github做仓库,因为权限的问题。提交代码的时候,只能通过我的github申请推送到公司的gihub,然后审核合并。
fork远程代码到自己github
1.fork代码
即分叉的意思,从公司github把代码拷贝到了自己的github。
打开公司的github,找到公司的项目,然后点击fork
然后回到自己的github,就可以看到了。
2.接下来就可以克隆到本地,然后敲代码,再推送到自己的github。
3.通过pull request提交代码,即通过自己的github项目向公司的github推送代码
把页面切换到 “Pull requests”,然后 New pull request
从 哪里(源)merge 到哪里(目的),这个根据具体情况选择
本例中是要把之前在lcxv/devtoolstest/中的Test.java merge 到 southday/devtoolstest/中,如下:
写上 Title 和 Write,然后 Create pull reques
然后对方的主分支就会有关于你的 pull request,如下:
对方同意你的请求,把代码合并到主分支中
4.更新上游仓库的代码到自己的gitHub
浏览器访问自己的repository,然后点击点击 New pull request,如下:
和第3步相反,我们现在是要将 southday/devtoolstest/中的内容推给 lcxv/devtoolstest/,所以需要修改推送方向,如图:
箭头右侧head fork为:southday/devtoolstest 后,页面会自动刷新,然后提示你:There isn’t anything to compare. 这是因为你没还没有修改目的仓库,源->源,肯定没东西可更新的,
这时,点击稍微右上角的“compare across forks”,再将箭头左侧base fork改为:lcxv/devtoolstes
接下来的操作和第3步中的类似,创建 pull request 后,可以 Merge pull request
这样,你远程仓库中的内容就得到了同步,接下来用自己的远程仓库去同步本地仓库的内容,在本地仓库下执行命令:
>git fectch origin
- >git pull origin master
注:
其实更新远程分支的代码不用先把代码更新到自己的github再更新到本地。
可以在本地直接添加远程仓库,然后直接拉远程分支的代码到本地,本地就变成最新的了。