跟着笔者魔鬼般的步伐,我们一起来瞅瞅一个团队协作的任务如何进行版本管理吧~

要跟上哦~

===============================================

首先我们先来看下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_rsaid_rsa.pub这两个文件;

  有的话,可直接跳到下一步;

  如果没有,打开Git Bash,在命令行输入以下命令,然后回车。

$ ssh-keygen -t rsa -C "你注册github的邮箱"
 这时用户主目录下就会生成.ssh的文件夹,里面有id_rsaid_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团队协作教程的更多相关文章

  1. 超详细!Github团队协作教程(Gitkraken版)

    超详细!Github团队协作教程(Gitkraken版) 一.前期工作 1. 在 Github 上创建 organization step1. 登录Github网站,点击右上角头像,选择 " ...

  2. GitHub团队协作流程

    说来惭愧,这么长时间,第一次参与修改开源项目,所以整理了一份GitHub团队协作流程,作为备忘,文章大部分内容参考https://www.cnblogs.com/schaepher/p/4933873 ...

  3. 【原创】Github团队协作之Pull请求

    首先声明:Github上关于代码团队协作方式有很多种,这里只讲述Github上其中的一种代码团队协作方式.   Pull请求(Pull request) 1 综述     协作者通过fork一个新的代 ...

  4. 协同开发功能——Github团队协作

    最近需要写一个HoloLens开发的简明介绍,其中要测试几个demo.用到github以团队协作,像下面是简单的事件记录. 一.创建项目 1. 2.项目设置 名称 描述description Init ...

  5. Github 团队协作基本流程与命令操作 图解git工作流程

    # 先 fork 项目到自己 github # 1. 从自己仓库克隆到本地(clone 的是项目指定的默认分支,比如 master) git clone git@github.com:me/em.gi ...

  6. github团队协作

    1.打开项目 2.将成员添加到项目成员内 3.创建分支 4.提交修改到远程仓库 5.发起讨论Pull requests 6.以讨论结果修改后,合并到master

  7. GitHub:本地项目上传与团队协作

    第一部分:我的本次作业成果 我自己个人的github地址是:colintz的个人仓库 我们开发团队小组的github地址是:小组3集中营 第二部分:强烈推荐的github资源 对于和我一样,初次接触g ...

  8. 论github客户端的使用与团队协作

    首先:如果你觉得小编写的一般般,那你就默念小编是渣渣,我相信你就会好起来的 -------------------------------------------------------------- ...

  9. 使用GitHub进行团队协作

    当进行团队协作完成一个项目时,GitHub是个不错的选择.下面是记录我和朋友做项目的时候协作的方法. 首先下载Github for windows 客户端,http://windows.github. ...

随机推荐

  1. USB2.0学习笔记连载(二):USB基础知识简介

    USB接口分为USB A型.USB B型.USBmini型.USBmicro型.USB3.0其中每种都有相应的插座和插头. 图1 图2 上图是USBA型接口,图1为插座,图2为插头.插座指向下行方向, ...

  2. 关于Cocos2d-x中数组的使用

    1.定义和背景 cocos2d::Vector<T> 是一个封装了动态大小的数组的顺序型容器. 它的元素是连续存储的,cocos2d::Vector<T> 的存储是自动处理的. ...

  3. e675. 翻转缓冲图像

    // To create a buffered image, see e666 创建缓冲图像 // Flip the image vertically AffineTransform tx = Aff ...

  4. 严格控制GOTO语句

    注意事项 1,使用顺序.选择.循环等有限的基本结构表示程序逻辑. 2,选用的控制结构只准许有一个入口和一个出口 3,程序语句组成容易识别的块,每块只有一个入口和一个出口. 4,复杂结构应该用基本控制结 ...

  5. 在C语言中实现面向对象(2)

    C语言是结构化和模块化的语言,它是面向过程的.但它也可以模拟C++实现面向对象的功能.那么什么是对象呢?对象就是一个包含数据以及于这些数据有关的操作的集合,也就是包含数据成员和操作代码(即成员函数). ...

  6. eclipse集成Python开发环境

    话说近期听说 Python 非常牛, 非常强大, 至于到底有多强大, 俺作为一枚菜鸟也就不好发表太多评价. 言归正传, 本文教你在eclipse中安装 Python 插件, 以下我们就跟着步骤一起做吧 ...

  7. QWidget:Must construct a QApplication before a QWidget。

    异常描述: 用PyQt开发的界面程序,再新增加了几个module后, 在eric6开发环境下启动后什么都没出现,什么错误提示也都没有, 在控制台下:python   XXXX.py 后显示 QWidg ...

  8. Oracle过程及函数的参数模式详解

    一.In.out.in out模式 在Oracle中过程与函数都可以有参数,参数的类型可以指定为in.out.in out三种模式. 三种参数的具体说明,如下图所示: (1)in模式 in模式是引用传 ...

  9. ros网址链接

    安装教程:http://wiki.ros.org/cn/indigo/Installation robotics:http://www.rethinkrobotics.com/ 学习教程:http:/ ...

  10. SQLServer------如何快速插入几万条测试数据

    方法一: 1.建表 if OBJECT_ID('test') is not null drop table test go create table test (id ,),vid ), constr ...