github团队协作教程
跟着笔者魔鬼般的步伐,我们一起来瞅瞅一个团队协作的任务如何进行版本管理吧~
要跟上哦~
===============================================
首先我们先来看下git进行版本管理的大概流程:

好啦,心里大概有个底了吧,现在开始正式操作了哟~
(一)前期准备
1.申请一个github账号:
访问https://github.com/,进入如图页面:

注册一个属于自己的github账号。
2.安装git:
安装指南:http://note.youdao.com/share/?id=f0b3422cf19db7c0dcc31de16f2653cc&type=note
3.安装开发工具IntelliJ IDEA(当然啦,可以根据自己的喜好安装不同的开发工具):
安装指南:http://note.youdao.com/share/?id=89349b4e4f6f57ae603c2c43bad1bb62&type=note
4.github与本地电脑的关联 && 本地gitbash配置全局用户名等信息:
-在安装好之后,电脑桌面会生成gitbash的快捷方式,我们将其打开,会进入到如下界面:

-现在我们先在GitBash上将一些前期的准备工作做好。
--首先,开启快速编辑模式(这样才可以右击鼠标粘贴,不开启的话粘贴功能不能用的哟):在Git Bash任务栏右击,点击下拉菜单中“属性”按钮,出现如下界面,勾选 “快速编辑模式”:

设置好了,现在我们可以开始愉快的进行git操作了。
--先建立本地电脑与github的联系(为github账号加入SSH Key):
->创建SSH Key:
首先到用户主目录(一般是C:\Users\admin)下,看看有没有.ssh文件夹。
如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件;
有的话,可直接跳到下一步;
如果没有,打开Git Bash,在命令行输入以下命令,然后回车。
$ ssh-keygen -t rsa -C "你注册github的邮箱"
这时用户主目录下就会生成.ssh的文件夹,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人:
->给github账号配置SSH秘钥:
登陆GitHub,打开“Account settings”,点击左侧“SSH Keys”按钮,再点击右侧“Add SSH Key”,在输入框中填一个自己中意的Title,在Key文本框里粘贴id_rsa.pub文件的内容:
--然后我们在本地配置全局的用户名等信息,这样进行git操作时,你的身份才是可以识别的:
->在Git Bash命令行中键入如下命令:
1.git config user.name "用户名"
2.git config user.email "邮箱"
3.git config color.ui true //可选,设置Git Bash字体有颜色差异
(二)操作
1.本地已有代码
->在Git Bash命令行用“cd”命令进入你存放代码的文件夹;
->git init 命令初始化本地仓库。你的代码存放文件夹下会出现如图所示的".git"文件夹。

2.本地无代码,直接去远程库上克隆项目
-访问团队项目远程仓库地址(此演示为当地址需访问别人项目得到的情况,如果有地址时,只需在登陆自己github账号的同时打开该地址)
->登录你的github账号,在搜索框中输入你要查找的项目名或用户名。在跳转后的页面点击Code或Users,出现要搜索的结果后,点击进入。

->在所访问用户的主页中找到你想要的项目。

将项目fork一份到自己的github仓库中。如下图所示,fork之前,地址栏访问的是别人的github仓库;fork之后地址栏跳转到自己的github仓库地址,fork后面的数字会+1.这时就将项目文件拷贝了一份到自己的远程仓库。复制自己的远程仓库地址(如果github上没有绑定SSH秘钥,请复制https路径,不要复制SSH路径)。

-将远程仓库的项目迁到本地仓库中(下面演示的是图形化界面,git命令见开头流程图)
打开IDEA,在菜单栏找到“VCS”,下拉菜单中悬停“Chenckout from Version Control”,点击“GitHub”。如下图所示:

会出现如下界面,输入你的github账号密码。

然后在接下来的页面设置你的操作密码;在如下页面的Git Repository URL输入刚刚复制的项目地址(自己的远程仓库),点击clone。就可以将远程仓库的项目迁下来。

-对项目进行修改
-将本地仓库修改后的代码迁移到远程仓库中
首先,为了方便团队协作,我们在本地checkout一个本地分支。
如图,在IDEA的右下角,我们选择新建一个分支。我新建了一个名为“develop”的分支,如下图所示:

接下来我们就在改分支编写代码啦。
修改完之后,我们就要将本地仓库的代码提交到远程服务器上面了。
如下图所示,在IDEA左侧项目名上面,我们点击万能的右键,选择“Git”子菜单中的“Commit Directory”;在弹出窗口中填写提交信息,然后点击“Commit and Push”;在接下来的弹出框中“Commit”“Push”。这是代码就提交到远程仓库的“develop”分支了。

(三)远程
-在远程仓库中贡献代码
进入你的github页面,会显示如下的提交信息。点击“Compare & pull request”进行合并,切换到develop分支可以看到刚刚提交的代码了。

-现在我们找到亮眼的“New pull request”按钮进行点击。会跳转如右下所示页面。左边选择你自己的分支,右边选你要与之对比合并的团队项目远程分支,确认就可以了。

github团队协作教程的更多相关文章
- 超详细!Github团队协作教程(Gitkraken版)
超详细!Github团队协作教程(Gitkraken版) 一.前期工作 1. 在 Github 上创建 organization step1. 登录Github网站,点击右上角头像,选择 " ...
- GitHub团队协作流程
说来惭愧,这么长时间,第一次参与修改开源项目,所以整理了一份GitHub团队协作流程,作为备忘,文章大部分内容参考https://www.cnblogs.com/schaepher/p/4933873 ...
- 【原创】Github团队协作之Pull请求
首先声明:Github上关于代码团队协作方式有很多种,这里只讲述Github上其中的一种代码团队协作方式. Pull请求(Pull request) 1 综述 协作者通过fork一个新的代 ...
- 协同开发功能——Github团队协作
最近需要写一个HoloLens开发的简明介绍,其中要测试几个demo.用到github以团队协作,像下面是简单的事件记录. 一.创建项目 1. 2.项目设置 名称 描述description Init ...
- Github 团队协作基本流程与命令操作 图解git工作流程
# 先 fork 项目到自己 github # 1. 从自己仓库克隆到本地(clone 的是项目指定的默认分支,比如 master) git clone git@github.com:me/em.gi ...
- github团队协作
1.打开项目 2.将成员添加到项目成员内 3.创建分支 4.提交修改到远程仓库 5.发起讨论Pull requests 6.以讨论结果修改后,合并到master
- GitHub:本地项目上传与团队协作
第一部分:我的本次作业成果 我自己个人的github地址是:colintz的个人仓库 我们开发团队小组的github地址是:小组3集中营 第二部分:强烈推荐的github资源 对于和我一样,初次接触g ...
- 论github客户端的使用与团队协作
首先:如果你觉得小编写的一般般,那你就默念小编是渣渣,我相信你就会好起来的 -------------------------------------------------------------- ...
- 使用GitHub进行团队协作
当进行团队协作完成一个项目时,GitHub是个不错的选择.下面是记录我和朋友做项目的时候协作的方法. 首先下载Github for windows 客户端,http://windows.github. ...
随机推荐
- USB2.0学习笔记连载(二):USB基础知识简介
USB接口分为USB A型.USB B型.USBmini型.USBmicro型.USB3.0其中每种都有相应的插座和插头. 图1 图2 上图是USBA型接口,图1为插座,图2为插头.插座指向下行方向, ...
- 关于Cocos2d-x中数组的使用
1.定义和背景 cocos2d::Vector<T> 是一个封装了动态大小的数组的顺序型容器. 它的元素是连续存储的,cocos2d::Vector<T> 的存储是自动处理的. ...
- e675. 翻转缓冲图像
// To create a buffered image, see e666 创建缓冲图像 // Flip the image vertically AffineTransform tx = Aff ...
- 严格控制GOTO语句
注意事项 1,使用顺序.选择.循环等有限的基本结构表示程序逻辑. 2,选用的控制结构只准许有一个入口和一个出口 3,程序语句组成容易识别的块,每块只有一个入口和一个出口. 4,复杂结构应该用基本控制结 ...
- 在C语言中实现面向对象(2)
C语言是结构化和模块化的语言,它是面向过程的.但它也可以模拟C++实现面向对象的功能.那么什么是对象呢?对象就是一个包含数据以及于这些数据有关的操作的集合,也就是包含数据成员和操作代码(即成员函数). ...
- eclipse集成Python开发环境
话说近期听说 Python 非常牛, 非常强大, 至于到底有多强大, 俺作为一枚菜鸟也就不好发表太多评价. 言归正传, 本文教你在eclipse中安装 Python 插件, 以下我们就跟着步骤一起做吧 ...
- QWidget:Must construct a QApplication before a QWidget。
异常描述: 用PyQt开发的界面程序,再新增加了几个module后, 在eric6开发环境下启动后什么都没出现,什么错误提示也都没有, 在控制台下:python XXXX.py 后显示 QWidg ...
- Oracle过程及函数的参数模式详解
一.In.out.in out模式 在Oracle中过程与函数都可以有参数,参数的类型可以指定为in.out.in out三种模式. 三种参数的具体说明,如下图所示: (1)in模式 in模式是引用传 ...
- ros网址链接
安装教程:http://wiki.ros.org/cn/indigo/Installation robotics:http://www.rethinkrobotics.com/ 学习教程:http:/ ...
- SQLServer------如何快速插入几万条测试数据
方法一: 1.建表 if OBJECT_ID('test') is not null drop table test go create table test (id ,),vid ), constr ...