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

要跟上哦~

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

首先我们先来看下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. 用实现ajax读博客rss示例代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  2. dlib VS2013 face关键点检测与对齐

    http://blog.csdn.net/hust_bochu_xuchao/article/details/53906223 http://blog.csdn.net/xiamentingtao/a ...

  3. java设计模式——多例模式

    ★ 缓存在单例中的使用    缓存在编程中使用很频繁,有着非常重要的作用,它能够帮助程序实现以空间换取时间,通 常被设计成整个应用程序所共享的一个空间,现要求实现一个用缓存存放单例对象的类. 说明:该 ...

  4. C++ 语言中的重载、内联、缺省参数、隐式转换等机制展现了很多优点

    C++ 语言中的重载.内联.缺省参数.隐式转换等机制展现了很多优点,但是这些 优点的背后都隐藏着一些隐患.正如人们的饮食,少食和暴食都不可取,应当恰到好处. 我们要辨证地看待 C++的新机制,应该恰如 ...

  5. Python脚本完美解决Linux环境解压.zip文件乱码问题

    1.vi uzip(文件名)2.复制以下Python程序 #!/usr/bin/env python # -*- coding: utf-8 -*- # uzip.py import os impor ...

  6. 学习 TList 类的实现[8]

    现在准备建立 Items 数组属性; 在 public 区输入下面代码:property Items[Index: Integer]: Pointer; 执行 Shift+Ctrl+C 后的代码是: ...

  7. linux下 安装mysql教程

    安装环境:系统是 centos6.5 1.下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下载版本:我这里选择的5.6. ...

  8. 通过ArcGIS Desktop数据发布ArcGIS Server

    1.双击GIS Servers--->Add ArcGIS Server 2.选择Publish GIS Services 3.输入Server URL:http://localhost:608 ...

  9. stm32入门(从51过渡到32)

    单片机对于我来说,就是一个超级大机器,上面有一排一排数不尽的开关,我需要做的,就是根据我的设计,拿着一张超级大的表(Datasheet),把需要的开关(reg)都开关(config)到对应功能的位置( ...

  10. Nginx遇上Access Denied提示怎么解决

    这几天在摆弄linux下面的各种服务器,对nginx非常有兴趣. 于是把phpmyadmin传上去了,先是phpmyadmin配了半天,结果配好之后发现phpmyadmin一些logo.css.js文 ...