当我们想为一个git的项目贡献代码的时候,我们就可以fork别人的项目了。
(其实是可以加合作者的,那样大家直接git push就可以了,不过有个明显的缺点,容易被乱改代码)
当我们在github上点击fork之后,我们就可以在自己的账户下面看到fork过来的项目了,例如项目名称:test
原作者项目地址:https://github.com/author/test
fork过来的地址:https://github.com/myself/test
然后我们本地git clone https://github.com/myself/test
然后就可以修改代码了。
但是我们修改代码之后,可能原作者的代码已经修改过了,这不就是不同步了么。
所以我们给现在的代码库添加上游代码库源地址。
git remote add upstream https://github.com/author/test
这样子就行了(只用在fork之后执行一次就可以了)。
以后代码尽情修改,修改之后
git add changefile
git commit -m "comment"
git push origin master
但是我们在pull request之前要执行一步合并:
git remote update upstream
git rebase upstream/master
这样子就和原作者的代码合并了。
没有冲突的话,就可以pull request了。