GitHub协同开发的一些命令
原文链接 https://hlthu.github.io/2017/12/12/github.html
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
这两天开始准备在GitHub和别人一起开发,然后fork了别人的项目,然后发现自己git不是很熟练,尤其是协同开发的时候。
今天就简单总结几条命令。
创建分支
一般你fork别人的项目,然后自己clone到本机。一般都是master分支是需要维护的。如果你的master分支和upstream/master(就是你clone的源的master分支是一样),那就很简单,直接以你自己的master为基础,建立新的分支。
git checkout master # 进入master分支
git branch dev # 创建dev分支
git checkout dev # 进入dev分支
或者一个命令直接以远程的dev分布为基础新建。
git checkout -b dev origin/dev
然后你接可以在dev分支上大展拳脚了,代码码完了,直接到GitHub网站上提交一个请求(New Pull Requests)等着大佬同意就好了,或者提出修改意见。
如果你很久之前就fork了别人的项目,但是别人的master要比你的master心新的多,怎么办?第一种是更新你的master,然后和之前一样。
git merge upstream/master
另外一个就是直接在upstream/master基础上新建分支:
git checkout upstream/master # 进入upstream/master分支
git branch dev # 创建dev分支
git checkout dev # 进入dev分支
同步分支
将远程分支同步本地:
git checkout --track origin/dev
将远程分支同步本地,直接进入该分支,然后git pull就好了。
向远程仓库推送:
git push origin dev
删除分支
删除远程分支:
git push origin --delete dev
删除本地分支
git checkout other # 先进入其他分支
git branch -d test
重命名远程分支
分为三个步骤:
1、将远程分支dev同步到本地
git checkout --track origin/dev
2、 重命名本地分支
git branch -m dev develop
3、删除远程分支
git push --delete origin dev
4、将本地分支同步到远程
git push origin develop
在其他非 upstream 的基础上继续工作
如果你想在自己师兄的代码基础上做,而且在未成形之前不希望其他人看到,只希望你的师兄进行 review,那么你可以到你师兄的仓库,然后找到相应的 branch,然后修改一个你打算要改的文件,随便改,改完了就会在你的仓库下生成一个 patch-XXX 的分支,你可以在这个分支上继续工作,不过,如果你不喜欢这个分支名称,可以按照上面的修改。