什么是非团队协作?
即使你不是团队成员,也有方法想向其他人的github中提交代码,只不过你提交的代码是需要被审核的,只有审核通过了才能够生效。
应用场景:比如说,你要完成一个网页效果,这个网页效果完成需要花费一些时间,你不想花费这个时间,于是就在github中找到一个正好能够实现这个效果的库,但是在使用的过程中,发现了这个库的功能并不完善,然后你将这个库的功能进行了完善,此时你就可以将你完善的代码提交给原仓库的作者,如果原仓库的作者认为你提交的代码非常有价值,原仓库的作者就会将你写的代码合并到他的仓库中
具体步骤
假定两个账户,一个叫小明,一个叫大红。
大红访问了小明的仓库git-demo,如果大红想为这个仓库贡献一些代码,则需要做:
-
点击“fork”按钮,fork这个仓库:将小明创建的仓库git-demo复制一份,并且存放到大红自己的github账号中
-
fork之后会跳转到自己的仓库页面,自己账号中的git-dome属于大红自己了,接下来大红需要克隆这个仓库到本地,然后在本地对仓库进行修改,修改完成后,再推送到当前这个远程仓库中,然后才可以向原作者发送代码修改的请求
- 自己新建一个文件,进入到新文件夹,点击右键选择
git bash here
- 使用克隆命令将远程仓库克隆到本地,注意,这个远程仓库是自己的账号下的git-demo:
git clone 远程仓库地址
,这个远程仓库地址是大红自己的 - 修改之后,使用
git add .
添加到暂存区中 - 再使用
git commit -m "大红进行了操作"
,添加到本地仓库中 - 之后再使用
git push origin master
推送到本地仓库
- 自己新建一个文件,进入到新文件夹,点击右键选择
-
回到github账号,刷新页面,可以发现自己修改了内容,但现在仍然处于大红自己的github账户中
-
现在如何推送到小明的仓库呢: 点击“pull requests”按钮,再点击“New pull request”新建一个请求
-
点击“create pull request”创建一个新的请求,点击完成以后,会在页面的底部看到你当前添加的内容,接下来小红可以跟原仓库的作者进行对话:可以为对话起一个主题,并且在下面的编辑框中添加详细描述,最后点击
create pull request
现在小明在自己的github中去看自己的仓库git-dome。
- 点击“pull requests”,就可以看到大红发来的请求,点击进去就能看到大红和我说的内容,以及把页面向下拉动,就能与大红对话,可以询问她一些问题,点击commit可以发送对话给大红
- 大红又可以和她进行沟通,表达建议。
- 如果小明想查看一下改了哪里,可以点击“Commits”和“Files changed”,如果觉得没问题,就能进行合并代码了
- 点击“conversation”,滑动页面,可以看到“Merge pull request”,点击它,之后可以文本框中写一些提交的信息(这个就相当于 git commit -m 后面的提交信息是一样的),最后点击“confirm merge”来确认合并。
以上就是跨团队协作的整个流程~