Git版本控制:Github的使用之 多人协作及参与项目

 
 

http://blog.csdn.net/pipisorry/article/details/45532883

本文是关于如何创建一个github项目,让多人团队共同开发一个项目。

Git多人协作

首先在github上创建一个repository项目,当然根据[Git版本控制教程 - Git远程仓库]自己可以随便将本地修改push到github上。

对于其它合作者,只要将其加入到项目合作者中来就可以了:打开repository,点击settings,选择collaborators,在搜索框中搜索合作者账号,然后add,这样项目合作者就可以push代码到项目中来了。

多人协作项目中的分支设置参考[Git分支处理]和[github 多人协作]。

这样之后就可以不用下面介绍的fork+pull request的方式了,省了项目主管的确认这一步。

 

 

 

从远程库克隆

 

 

先创建远程库(或者使用别人已有的远程库),然后从远程库克隆

 

登陆GitHub > 创建一个新的仓库,名字***_workspace >Initialize this repository with a README可选可不选,选的话GitHub会自动为我们创建一个README.md文件,创建完毕后,可以看到README.md文件:

远程库已经准备好了,用命令Git clone克隆一个本地库:

$ git clone git@github.com:pplove/***_workspace.git
Cloning into '***'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
$ cd ***
$ ls
README.md
如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。

Note:

1. git clone默认会把远程仓库整个给clone下来,但只会在本地默认创建一个master分支,如果远程还有其他的分支,此时用git branch -a查看所有分支

2. GitHub给出的地址不止一个,还可以用https://github.com/pplove/workspace.git这样的地址。实际上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。

使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https

3. clone下来的是一个目录,所以clone时的当前目录可以是根目录

4. colon的项目可以是别人github上的项目,不需要授权、密码等

[Git clone远程分支]

皮皮Blog

 

 

使用GitHub参与开源项目-fork + pull request

我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。

 

在GitHub出现以前,开源项目开源容易,但让广大人民群众参与进来比较困难,因为要参与,就要提交代码,而给每个想提交代码的群众都开一个账号那是不现实的,因此,群众也仅限于报个bug,即使能改掉bug,也只能把diff文件用邮件发过去,很不方便。

但是在GitHub上,利用Git极其强大的克隆和分支功能,人们群众真正可以第一次自由参与各种开源项目了。

如何参与一个开源项目?

比如人气极高的bootstrap项目,这是一个非常强大的CSS框架,你可以访问它的项目主页https://github.com/twbs/bootstrap,点“Fork”就在自己的账号下克隆了一个bootstrap仓库,然后,从自己的账号下clone:

git clone git@github.com:pplove/bootstrap.git

一定要从自己的账号下clone仓库,这样你才能推送修改。如果从bootstrap的作者的仓库地址git@github.com:twbs/bootstrap.git克隆,因为没有权限,你将不能推送修改。

Bootstrap的官方仓库twbs/bootstrap、你在GitHub上克隆的仓库my/bootstrap,以及你自己克隆到本地电脑的仓库的关系图:

如果你想修复bootstrap的一个bug,或者新增一个功能,立刻就可以开始干活,干完后,往自己的仓库推送。

如果你希望bootstrap的官方库能接受你的修改,你就可以在GitHub上发起一个pull request。当然,对方是否接受你的pull request就不一定了。

fork一个项目后如何删除?

点击选择fork的项目 > 进入后点击Settings标志 > 点击Delete this repository > 确认要删除的repository名字,选择”I understand the consequences,delete this repository”

github的pull request
有一个仓库,叫Repo A。你如果要往里贡献代码,首先要Fork这个Repo,于是在你的Github账号下有了一个Repo A2,。然后你在这个A2下工作,Commit,push等。然后你希望原始仓库Repo A合并你的工作,你可以在Github上发起一个Pull Request,意思是请求Repo A的所有者从你的A2合并分支。如果被审核通过并正式合并,这样你就为项目A做贡献了。

如上图,pull request的时候,注意base fork(你的)和base分支,以及要别人接受的那个人的head fork和compare分支。

 

 

关注别人的项目

 

(变化或者说是收藏)

进入别人的项目 

将上图中的unwatch改为watch

这样在自己的github上就可以通过进入看到自己关注的项目

from:http://blog.csdn.net/pipisorry/article/details/45532883

Git相关问题及错误总结

posted @ 2017-05-18 15:09  源哥来了  阅读(998)  评论(0编辑  收藏  举报