如何利用 Git 与 GitHub 进行多人协作开发

方法一:添加 Collaborators

  Collaborators 类似于Team模式。

  Repository的拥有者Owner 可以直接添加合作者到自己的仓库中, 让合作者拥有几乎等同拥有者的权限。

  操作方法如图所示: Repository的Owner在自己的repo中点Settings添加想要合作的User。

  添加成功后被邀请的合作者会收到GitHub发送的邀请邮件, 该邮件会发送到受邀人的github注册邮箱中。

  

  Collaborators模式可以描述为:

  1)Repository的拥有者A想要合作者B参与到该repo的团队开发中, 于是A邀请B并成功添加B到该repo合作中,这样B作为合作者便拥有了贡献代码到A仓库中的权利。

  2)作为 B 所需要做的是 先Clone A的仓库到本地,这样B在自己的本地就拥有了向A仓库中提交代码(commit/push/merge/branch)的权限,就好比B拥有A的repo一样, 但是B操作 A repo仓库的时候使用的是 B 自己的github账号和密码。

  3)同样此时B自己的github账号中并不会出现A的仓库Repo, 这也就完全不同于fork代码了(fork代码会把拥有者的代码复制一份到自己的github中)。

方法二:Organization & Team 的方式

  如果你已经创建了一个组织,你可以在该组织中创建一个team进行合作开发。

  

  管理者A可以在创建完的team中 add repo. 设置其权限, 添加team成员, 这样team成员间就可以合作开发这些项目了。

方法三:Fork & Pull request方式

  对于开源项目间的合作一般都会使用Fork & Pull request的合作方式。

  “Fork” 的名词是 “叉子” 的意思,不过这里取的是动词 “分叉,建一个分支” 的意思。

  A拥有一个开源Repository,B想参与该开源项目。作为B,先要fork A开源项目的 Repository 到自己账号的Repository中,这样B就拥有了A开源项目的镜像repo。

  这样B可以正常的修改自己账号下的 A的开源项目镜像(这里改的都是自己本地的),并不会影响A本身的开源repository, 如果哪天B觉得自己增加并完善了一个新功能, 或者fixed A repo的某个bug,就可以提一个pull request, 询问A是不是想要。

  步骤一:进入你想参与合作开发的仓库界面,点击右上角的 “Fork” 图标,如下图所示。此时你已经复制了一个副本在你的 GitHub 仓库中了,或者是说一个新的代码仓库被创建了,可以打开你的 GitHub 主页看一看。

  

            

  步骤二:在自己的Github中,将这个代码仓库 “Clone”(克隆)到你的本地。“Clone” 成功之后你就可以自主修改里面的内容。

  步骤三:然后将所做的修改提交(Add+Commit+push)到自己的代码仓库,接着到仓库页面,点击 New pull request 按钮。如下图所示:

    点进去之后,将你修改的内容和原本的内容作对比,并把不相同的地方显示出来。

   步骤四: 点击“Create pull request” 按钮,如下图所示:  

  填写你的请求信息,说明你做了些什么之类的。这个请求是发给该项目的拥有者的,完成之后点击 “Create pull request” 按钮即可。

  

  之后项目的拥有者会受到你的请求,只要他/她通过了你的请求,你所做的修改就会被整合到原项目的仓库里了。

   左边是你的本地仓库,中间是你在 GitHub 上 Fork 建立的仓库,右边是项目的原仓库。

   如何与原仓库保持一致?

  在自己做开发的过程中,难免会遇到你 “Fork” 的项目已经有了新的更新,这时当然是希望自己仓库中的代码也能同步进行更新。

  可是,你本地仓库所连接的远程仓库的是你自己的 GitHub 仓库,而不是原作者的仓库。

  需要为你的本地仓库再添加一个远程仓库源。

  步骤一:查看当前项目所连接的远程仓库,打开终端,进入到项目的 Git 仓库所在目录,一般就是项目目录,输入如下代码:

git remote -v

  可以看到目前只连接了我自己的远程仓库。

  步骤二:添加原作者的远程仓库连接,输入如下代码:

git remote add upstream [email protected]:lexiaoyao1995/weixin.git

   注意替换链接。

  查看连接情况,如下图所示:

   现在已经成功添加原项目的远程仓库了。

  步骤三:输入如下代码,从原项目的远程仓库中更新代码。

(1)从原仓库获取最新版本到本地
git fetch upstream master
(2)保证当前位于 master 分支上
git checkout master
(3)将最新版本整合到本地 master 分支上
git merge upstream/master
(4)将更新发送到自己的 GitHub 仓库里
git push origin master
(1)(2)(3)步可以用如下命令代替
git pull upstream master
但是这样不太安全,因为你 fetch(获取)之后可以通过
gitlog--oneline --graph --decorate --all
来查看更新的情况,再决定是否 merge(整合)到一起

  左边是你的本地仓库,中间是你在 GitHub 上 Fork 建立的仓库,右边是项目的原仓库。

原文地址:https://www.cnblogs.com/gg-qq/p/10329501.html

时间: 2024-08-03 15:28:30

如何利用 Git 与 GitHub 进行多人协作开发的相关文章

GitHub 多人协作开发 三种方式:

GitHub 多人协作开发 三种方式: 一.Fork 方式 网上介绍比较多的方式(比较大型的开源项目,比如cocos2d-x) 开发者 fork 自己生成一个独立的分支,跟主分支完全独立,pull代码后,项目维护者可根据代码质量决定是否merge代码 此方式网上方法比较多,这里不详细描述 二.组织 组织的所有者可以针对不同的代码仓库建立不同访问权限的团队. Accounts Settings => Organizations =>Create new Organizations 新建一个组织

Git详细教程---多人协作开发

Git可以完成两件事情: 1. 版本控制 2.多人协作开发 如今的项目,规模越来越大,功能越来越多,需要有一个团队进行开发. 如果有多个开发人员共同开发一个项目,如何进行协作的呢. Git提供了一个非常好的解决方案 ---- 多人协作开发. 1.多人协作原理 典型的做法是,首先创建一个git服务器,被多个人所操作. 1.多人协助实现 分为如下几个步骤: 1.创建一个git裸服务器 (git init --bare) 2.从裸服务器将版本库克隆至本地(git clone ) 3.本地常规操作 4.

Unity3D 多人协作开发svn 环境搭建

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,[狗刨学习网]unity极致学院,致力于打造业内unity3d培训.学习第一品牌. 说到多人协作开发,大家都会想到要使用版本控制工具来管理项目,当然最常用的要数SVN和Git了,但是SVN管理Unity3D项目的确有一些不尽人意的地方,比如:两个人修改了同一个场景,SVN更新时就不能合并 ,还有在Unity Editor 中SVN不可视化,不友好!

Unity3D 多人协作开发 环境搭建 笔记(场景合并)

http://www.cnblogs.com/zhaoqingqing/p/3371120.html 说到多人协作开发,大家都会想到要使用版本控制工具来管理项目,当然最常用的要数SVN和Git了,但是SVN管理Unity3D项目的确有一些不尽人意的地方,比如:两个人修改了同一个场景,SVN更新时就不能合并,还有在Unity Editor 中SVN不可视化,不友好! 我们团队初期也是使用SVN,在本地文件夹中进行提交和更新.记录一下我们一路走来的历程…… 下面记录一下我们团队使用版本管理工具的过程

Git 多人协作开发

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且你的远程仓库的默认名称是origin 查看远程库的信息,用git remote [email protected] MINGW32 /c/gitskill (dev)$ git remoteorigin 或者,用git remote -v 查看更详细的信息: [email protected] MINGW32 /c/gitskill (dev)$ git remote -vorigin http

GIT 分支管理:多人协作

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. 要查看远程库的信息,用git remote: $ git remote origin 或者,用git remote -v显示更详细的信息: $ git remote -v origin https://github.com/wangmingshun/studygit.git (fetch) origin https://github.com/wangming

GitHub的多人协同开发配置

GitHub For Windows 下载地址:https://windows.github.com/ 基本的注册登录就不细讲了. 在源代码管理上,最重要的就是仓库了.仓库这一概念很容易理解,所谓仓库,就是存放东西的地方,因为仓库就是我们存放源码的地方. 下载安装好GitHub之后,在左上角就用一个+符号,通过这个就可以完成仓库的创建和迁出.然后右键该仓库->点击Open in Explorer,就可以在文件资源管理器中打开该项目 当我们对项目进行了修改(添加文件,修改文件,删除文件等),就会出

小蚂蚁学习git(4)——多人协作、推送分支、拉取分支、解决冲突

接上篇(http://my.oschina.net/woshixiaomayi/blog/521706)继续 八.多人协作 当从远程库克隆的时候,实际上Git自动的把本地的master分支和远程的master分支对应了起来,远程库的默认名称是origin. git remote    查看远程库的信息 git remote -v    查看远程库的详细信息 推送分支: 是把本分支上所有本地内容提交到远程库中,推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上,命令: g

利用git向github上远程提交一个自己的开源项目

1.在电脑的系统变量中的path路径中配置git的环境变量: 找到git安装路径中bin的位置,如:X:\Git\bin 找到git安装路径中git-core的位置,如:X:\Git\libexec\git-core; 然后将这两个路径配置到系统变量的path中即可 2.打开命令行(cmd+enter),将目录切换到项目目录:例如:D:\>cd D:\wps_github\LoopLinearViewItem,然后点击enter 3.然后输入如下命令并点击enter D:\wps_github\