众所周知,一个稍微有点规模的项目,都不可能是一个人单打独斗完成的(能完成的大神别打我),所以,一个高效的项目团队就需要一个NB的工具来进行有效的交流(曾经有人问我企鹅不就可以吗,我竟无言以对),今天就把我学习GitHub这牛叉利器的心路历程记录下来,希望能帮到大家!

首先,介绍一下这两个nx的工具!

GIT:Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

从一般开发者的角度来看,git有以下功能:

1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。
 
优点:适合分布式开发,强调个体。公共服务器压力和数据量都不会太大。速度快、灵活。任意两个开发者之间可以很容易的解决冲突。离线工作。
缺点:资料少(起码中文资料很少)。学习周期较长。不符合常规思维。代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
GITHUB:gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。
GitHub 使用 git 分布式版本控制系统,而 git 最初是 LinusTorvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。
 
说了怎么多,还是不懂,git和GitHub到底能干啥!通俗的说,比如你正在开发一个项目,一不小心删除了一段代码,然后保存,后面发现没法找回这段代码了,这就傻眼了,但是,如果你用了git,他能帮助我们记录项目中任何的增删改,你随时可以查看操作日志,随时可以恢复到任何一步的版本;当然git再强大,也只能是在本地单打独斗,一旦有了GitHub,那就不一样了,我们可以把多个开发者通过一个GitHub项目链接起来,想象一下,远在他想的同事在GitHub上下载了你提交的版本version1,然后修改提交version2,你把version2下载下来后,git能自动帮你把修改的部分整合到你的项目中,还能告诉你改了哪些内容,然后你得到version3,大家都这样干了,开发起来效率就会高很多。
 
小编是通过菜鸟教程一步步学习git到GitHub的,相信会对你有帮助,下面我就把学习过程中遇到的一些坎,列出来,供大家参考:
1.下载安装都没有问题
2.安装完成后我们需要学习一些基础的git命令,教程中也有,在这给大家提供一个更详尽的帖子:http://www.cnblogs.com/cspku/articles/Git_cmds.html
 
3.然后是理解git的工作机制,教程中有
4.现在就可以创建git仓库了。git需要一个文件夹作为仓库,这个文件夹可以是新建的,也可以是你已有的目录,在用git init命令时不用考虑文件夹里的文件会不会收到影响,放心吧,不会的。所以你可以放心大胆的在任何目录下执行这个命令,建立仓库。
5.仓库建立好之后,就可以跟着教程试一试那些简单的git 命令。我们学习git是想要为以后项目开发服务的,所以只要我们在项目的文件夹中git init,我们就相当远把自己的项目装进了这个新建的仓库里面,以后我们针对项目的各种操作,git都会帮我们详细的记录下来。
6.难点在于远程仓库GitHub的使用,我在下面这个地方遇到小的阻碍:
 
按照教程,当我执行到这一步,发现找不到.ssh文件夹,搞的我以为自己之前的操作错了,后来才在下图中的地方找到这个文件夹,所以你到这个地方注意哈!
还有需要注意的是, id_rsa.pub文件里的key很长,看起来好像还是换了行的,当你用记事本打开的时候不用管它,直接Ctrl+A,Ctrl+C,Ctrl+V,搞定。
还有,上图中标箭头的只是教程中自己起的名字,看着像命令,当你操作时一定要换成自己的仓库名和用户名。
等你到这一步的时候,相信你已经有小小的成就感了,这一步可以暂时不用管,因为你除非你是公司的项目或者什么高大上的涉密项目,这一步暂时还用不上!

从Git到GitHub,详细教程的更多相关文章

  1. Git和Github详细教程

    一 概述 说到Git和Github,前几天我们知道微软以75亿美元收购全球最大的代码托管和写作平台GitHub,而GitHub是全球最大的代码仓库,很多开发人员都将代码存放在Github,许多开发者因 ...

  2. GitHub详细教程

    GitHub详细教程 Table of Contents 1 Git详细教程 1.1 Git简介 1.1.1 Git是何方神圣? 1.1.2 重要的术语 1.1.3 索引 1.2 Git安装 1.3 ...

  3. Git和Github简单教程

    原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...

  4. Git-it:一个学习Git和Github的教程(软件)

    Git-it https://github.com/jlord/git-it 2016-08-01 在FreeCodeCamp的引导下了解到的Git-it.OSC有收录. Git-it是一个指导使用G ...

  5. Git和Github简单教程(收藏)

    原文链接:Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的 ...

  6. git和github使用教程

    看官请移步git和github简单教程, 本文是上述链接的截图,担心哪天作者不小心删除了,备一份在自己这里,仅为自己看着方便.侵权请告知

  7. Git和Github简单教程【转】

    转自:https://www.cnblogs.com/schaepher/p/5561193.html#clone 原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但 ...

  8. 转:Git和Github简单教程

    转自:https://www.cnblogs.com/schaepher/p/5561193.html Git和Github简单教程   原文链接:Git和Github简单教程 网络上关于Git和Gi ...

  9. GitHub详细教程(转载)

    1 Git详细教程 1.1 Git简介 1.1.1 Git是何方神圣? 1.1.2 重要的术语 1.1.3 索引 1.2 Git安装 1.3 Git配置 1.3.1 用户信息 1.3.2 高亮显示 1 ...

  10. 【转载】GitHub详细教程

    1 Git详细教程   1.1 Git简介   1.1.1 Git是何方神圣?   Git是用C语言开发的分布版本控制系统.版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历 ...

随机推荐

  1. 洛谷 [P4011] 孤岛营救问题

    状压+BFS 通过观察数据范围可知,我们应该状压钥匙种类,直接BFS即可 注意,一个点处可能不知有一把钥匙 #include <iostream> #include <cstdio& ...

  2. SqlServer循环 和 批量倒数据

    SqlServer循环语句 declare @i int set @i =1 while(@i<5) begin  set @i = @i+1  insert into text(id,name ...

  3. MUI体验框架

    1.      mui简介 1.1  缘起 1.基于jq的jqmobile,性能低的无法忍受,且UI难看 2.bootstrap这种响应式设计,性能在低端机不足,而且UI风格一看就是网页,不是App的 ...

  4. Mock摆脱后端拖拉(借鉴官网)(一)

    mock是一个模拟数据生成器,旨在帮助前端独立于后端进行开发,帮助编写单元测试.mock有如下功能 根据数据模板生成模板数据 模拟ajax请求,生成请求数据 基于html模板生成模拟数据 下载安装 n ...

  5. <url-pattern>/</url-pattern>和<url-pattern>/*</url-pattern>区别

    <url-pattern>/</url-pattern>表示的为只匹配/login和/demo后面不带.xxx的网页 <url-pattern>/*</url ...

  6. network programming-简单的TCP客户服务器编程

    简单的TCP程序客户端流程:创建套接字(套接字用IP地址:端口号)表示)socket()->请求连接connect()->交换数据 send()/recv()->关闭连接 close ...

  7. PAT1116. Come on! Let's C (map)

    思路:模拟一下就好了,map用来记录每个人的排名. AC代码 #include <stdio.h> #include <map> #include <math.h> ...

  8. 多key业务,数据库水平切分架构一次搞定

    数据库水平切分是一个很有意思的话题,不同业务类型,数据库水平切分的方法不同. 本篇将以"订单中心"为例,介绍"多key"类业务,随着数据量的逐步增大,数据库性能 ...

  9. 微信Token小识

    在调用自定义菜单接口的时候,调用接口 https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN返回: " ...

  10. 在 React 中使用 JSX 的好处

    优点: 1.允许使用熟悉的语法来定义 HTML 元素树: 2.提供更加语义化且移动的标签: 3.程序结构更容易被直观化: 4.抽象了 React Element 的创建过程: 5.可以随时掌控 HTM ...