Github中Fork和更新原做者的修改

在Github遇到好的源代码工程,通常咱们能够用Fork把库Clone到本身的空间中,而后进行修改。html

可是再过一段时间后,原做者对其工程进行了修改,咱们的版本已经落后于主版本了,这时但愿能将其更新合并过来,怎么作呢?git

一个办法是在原始网站中建立一个pull request,将本身的库做为目标。这个常常有合并失败的状况。github

还有一个办法是拉取到本地进行合并,再推送上去。由于能够在本地进行修改,因此比较灵活。
shell

譬如,我在[https://github.com/skyswind/GIScript.git]上经过Github.com网站页面Fork到本身的空间。工具

而后,在本地经过命令行工具取到本地目录中,以下。
fetch

git clone https://github.com/supergis/GIScript.git

按照以下步骤操做便可:网站

echo "Merge git from upstream..."
echo "指定远程的源。"
git remote add upstream https://github.com/skyswind/GIScript.git

echo "获取远程源的更新。"
git fetch upstream

echo "合并到本地库中。"
git merge upstream/master

echo "提交到本地版本库中。"
git commit -a -m "merged upstream."

echo "推送提交到本身的github库中。"
git push

echo "Merge upstream finished."



若是本身的修改但愿贡献到主版本中,只须要在本身的工程页面发起一个pull request便可(是否合并进去,要看人家的意思哦)。命令行

详细的分支管理策略见这里:http://www.ruanyifeng.com/blog/2012/07/git.htmlhttp://www.ruanyifeng.com/blog/2012/07/git.htmlcode

相关文章
相关标签/搜索