1 瞅准一个感兴趣的项目,fork一份到自己的仓库
2 git clone 一份到本地开发环境,
3 从源库那里加一个remote repository ,基于这个remote创建一个分支到本地开发环境, 这样每次就可以从源库那里拿到最新的代码。分支的管理着实重要,操作要慎重。
4 在本地的这个开发分支上涂涂改改,可以随意的commit,只要不push 这个分支到远端仓库,别人就看不到这些修改,开发完毕后就可以merge到本地的origin/master分支上。
选择merge会把记录也带过去,而rebase不会把额外的提交记录带上去,这个看情况选择吧。
push了本地某个分支,就可以在远端看到对应的分支内容,
5 在自己fork的仓库那里点击pull request来通知 作者,如果代码没有冲突,且作者同意合并你的代码。作者merge后,这次贡献就算是结束了。
关键点:
添加远端源库的remote repository,并给予此来建立一个源端库分支作为自己的开发分支。因为权限的原因,这个远端源分支没有直接提交代码的权限,所以只能曲线救国,在远端源分支上进行开发,然后merge到本地的origin/master,也就是合并到自己的master分支上,再通过pull request的方式,通知作者来合并贡献的代码。
把自己保持在remote_branch_dev分支上,时刻保持自己的代码和远端源库最新,然后开发过程中有完结的点,就merge到自己的origin/master库上,有必要的时候提一个pull request。
Tower这个客户端真的很赞,图形化的操作减轻了记忆命令的负担,推荐使用下。