zoukankan      html  css  js  c++  java
  • 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相关问题及错误总结

  • 相关阅读:
    java内存模型
    如何保证消费者接收消息的顺序
    mysql事务隔离级别
    mysql加锁读
    mysql一致性读
    InnoDB锁
    JDK1.8中的线程池
    JDK1.8中HashMap实现
    物品推荐(基于物品的协同过滤算法)
    CRM 2013 生成自动编号
  • 原文地址:https://www.cnblogs.com/yzycoder/p/6873515.html
Copyright © 2011-2022 走看看