我们经常会从github中fork一些项目,fork完之后会有哪些常用的操作呢?
现在把经验分享给大家,希望有利于大家参与到开源的项目来。
提交自己本地修改到自己的项目
此步骤即最基本的git修改操作
1 | git clone https://github.com/renliufeng/mojo |
自己更新的代码想提交给原作者合并
一般在更新完自己的代码之后,如果希望原作者的代码一起支持变更,需要在github上发起PullRequest。在界面上边有个 Pull Requests ,点进去,然后就可以见到你和原作者项目的差异的代码,上面有个 “Create pull request”. 点击后会让你写上本次提交合并“主题”,还有相关提交修改的内容的一些介绍, 这方便原作者理解和了解你的修改,并会考虑是否给你的提交合并到他自己本身的代码。 写完这些信息后, 然后提交过去。 作者的项目就会收到你这个请求了。如果他认为你写的代码没问题,介绍也合理, 就会合并到你的代码到他的主代码中。
更新自己的代码和原作者的项目保持一致
经过一段时间, 有可能作者原来的代码变化很大, 你想接着在他最新的代码上修改, 这时你需要合并原作者的最新代码过来, 让你的项目变成最新的。这个需要接着在你的本地操作。
假设前提是, 你现在你的代码是克隆下来在本地的。 例如我 Fork 了 sri (Mojo 的作者) 的 Mojo 项目, 我的项目地址是https://github.com/renliufeng/mojo我现在克隆这个在我的本地了。
1 | git clone https://github.com/renliufeng/mojo |
接着, 我只需要添加 sri 项目的地址,也就是主项目的 remote 地址, 我们加入后, 给代码 fetch 过来, 然后进行 merge 的合并操作。
1 | git remote add sri https://github.com/kraih/mojo |
这样就能给你的当前本地的项目变成和原作者的主项目一样。 然后你按正常的流程进行修改并提交到你的项目就好了。
1 | git commit -am '更新到原作者的主分支的进度' |
要接着给修改提交给原作者,请参照第二步。