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

要跟上哦~

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

首先我们先来看下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. 受打击了:你是学.net 的吧?

    我在网上投了简历,今天去面试, 去到才知道有面试题做,做完之后自知答的很烂. 没想到面试我的那个人,一开始就很直接,说: 我感觉你很喜欢用英语, 但英语很烂 我觉得你很喜欢用别人的东西, 但技术水平很 ...

  2. 不可错过的10个超棒jQuery表单操作代码片段

    jQuery 绝对是一个伟大的开源javascript类库,是帮助我们快速和高效开发前端应用的利器.可能大家在日常的开发过程中常常会处理表单相关的 javascript,在今天这篇代码片段分享文章中, ...

  3. 【转】nginx中proxy_set_header Host $host的作用

    nginx为了实现反向代理的需求而增加了一个ngx_http_proxy_module模块.其中proxy_set_header指令就是该模块需要读取的配置文件.在这里,所有设置的值的含义和http请 ...

  4. Openfire配置过程,以及与php交互注意事项。

    Ben Werdmuller 是一位 Web 策划师和开发人员,他专注于开放源码平台.他是开源社交网络框架 Elgg 的共同创始人和技术带头人.Ben 的博客 http://benwerd.com/. ...

  5. (转)loff_t *ppos是什么东东

    ssize_t generic_file_read(struct file * filp, char * buf, size_t count, loff_t *ppos) 这是一个文件读函数 我们很容 ...

  6. c++ 的vector、array和数组的比较

    ref:  http://blog.csdn.net/haust_wang/article/details/49848169

  7. c++ _int64 转成string

    _i64toa(a,buffer,10); scanf("%I64d",&a);printf("%I64d",a); 就可以正确输入输出了.当使用uns ...

  8. optimization blocks (csapp chapter 5.1)

    p_511 编译器在没有指示下,会做‘ safe optimization',因此有些优化在没有参数的指示下是不会对代码做优化的,故在程序中应该避免某一类代码,因为它们妨碍了编译器做优化. optim ...

  9. Unity对象查找

    1. GameObject.Find  全局摄像机 全局画布 全局灯光 无法查找隐藏对象 ,效率低下,要用完全的路径来提升查找效率 2. transform.Find  UI中全部使用此方法 可以查找 ...

  10. ChemDraw加键的两种方法

    绘制化学结构离不开9种ChemDraw键工具,键工具在绘制过程中提供了最大的使用优势,这种优势体现在键角.键长的绘制,故很有必要学习相关的ChemDraw使用技巧.本ChemDraw教程将具体介绍在C ...