github基于一个正在review的分支创建新分支

github是一个强大的代码版本管理软件,目前绝大多数的开源软件都是放在github上管理,例如Linux,OpenStack等等。

最近通过github向OpenStack提交patch,有个问题一直困扰我。提交bug fix的原则应该是一个bug一个patch,这样对于reviewer来说看起来比较容易,之前因为一些原因将许多问题揉在一起提交,连我都看不下去了,更何况别人,最后果然没通过。因此,如果同时要提交多个bug fix,并且修改的是同一个文件,那么第一个patch提交后还没review通过,要提交第二个patch,这个patch要依赖于第一个,该怎么办?

走了许多弯路后今天弄明白了,提交了第一个patch后,该patch有一个路径,可以在review的网页网上看到,

git fetch https://review.openstack.org/openstack/nova refs/changes/16/10816/9 && git checkout FETCH_HEAD
在github中输入上面的命令,有的版本会报错,不支持“&&”符号,该符号的意思是“并且”,也就是继续执行。如果报错,则将上面的命令分开,先输入:
git fetch https://review.openstack.org/openstack/nova refs/changes/16/10816/9
再输入:
git checkout FETCH_HEAD
这样就进入了一个叫做“detached HEAD”的状态,然后可以创建自己的分支,现在所创建的分支就是依赖之前已经创建好的分支,这样最后分支的合入才不会覆盖前面的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章