学校里一直都有自己写一些网页,一方面为了学习熟练技能,另一方面也是兴趣所在。但是独乐乐不如众乐乐,一直向往有那么一个平台能把自己做得东西分享给广大网友,并且想借着分享的契机和各位程序猿交流学习心得(这才是重点~)。因为大二大三只知道自己coding,也没有什么压力一定要找到这么个平台,所以有收获积累都是往本子上或者书上记来着。现在大四正是找工作实习的时候,带着电脑或者打印材料从而把东西展现给面试官,实在麻烦。这才知道大家已经用github用得火热啦!

不说废话,这两天琢磨github,终于琢磨出点浪花儿来。下面分享一些github使用感受以及遇到的问题与解决办法(毕竟本人目前是小白,有不对之处还望指出!)

一、github里面的版本库、工作区、分支(以下照旧没有顺序可言哟,都是我的学习路程)

一开始我只想用github来作为代码托管的一个平台,接触之后才知道说它是代码托管所实在是委屈它了,人家是一个集版本管理于一身的版本库。

形象地说,比如你作为主人发布一个网站(因为我对前端感兴趣)到github上,这个网站可能存在着某些bug。但群众的力量是伟大的,当一些网友看见你的网站并很感兴趣地帮你改了改并且提交给github,这时候你可以看到该网友改的地方,并可以把两个版本(一个是你自己提交的版本,一个是网友改过后提交的版本)的网站合并(我还没尝试,以后会有的?!),当然你也可以选择不理或者自己维护修改。要知道,在原版上修改是可怕的(万一修改错了,还不能回退就毁了),所以有许多类似于副本的版本给你修改用。

综上,可以理解为什么github是版本式托管

了解了它是一个版本库托管平台,OK,现在要把我本地的文件(一个网站文件)上传到网络端github了。

看着www.github.com中各种英文,并且终于注册好(sign up)一个账号、创建一个库(new repository)之后,以为能和百度云一样,直接上传文件(包括文件夹),却发现是我太天真。。。这个貌似要用客户端才能上传文件夹(目前我只知道需要用客户端)。于是我又屁颠儿跑去下客户端,乖乖,客户端总是安装失败(因为这是在线安装,貌似有些设置需要改,<但我改了也没用>)。无奈下我只好下一个离线安装包git bash。但是啊但是!gitbash是一个一点也没有友好用户界面的窗口,要用gitbash,你首先要遵守人家的规则(各种命令语句人家才能懂~),好吧,老实学着呗,毕竟互联网时代的我们要学着享受这些计算机带给我们的所有,想想其实命令语句有也没什么,无非就是熟练几行命令,之后用起来还是牛逼吼吼~

gitbash学起来(先上个窗口图镇镇~)

ok,接下来是各种命令的学习,详情可以参考http://www.open-open.com/lib/view/open1414396787325.html(也不知是哪位大神的整理,步骤清晰很简单)

学习了解完一些简单命令之后,你会发现一打开gitbash,只需要用cd命令切换到你的github中,然后将做好要上传的文件复制到github下,就可以开始上传啦。

现在说下上传时遇到的一些小问题:

1)用户名或密码无效(如图)

明明照着输入username(和你的github网站上的一致),但是注意到没,密码那一栏好像是空的(我当时也是傻的,以为不需要密码),虽然你看不到密码那一栏的变化(这也许就是某种技术掩盖,类似于加密),但其实是需要输入密码的。

之后上传关联库正确之后:

2)如何一次性add许多文件(上传文件夹的方式一模一样),并一起commit

如图只需要用空格间隔开就可以add

接着commit,其实提交的是上面add的所有文件(git commit -m '这是对提交的注释而已'),如图:

综上,解决了本地库连接版本库,并且将本地库的东西上传到网络端的版本库中啦。

讲讲分支的概念:其实开始就说了,为了不在原版本的代码上修改(以防造成不可逆错误),所以有了分支这个概念。在分支上建立不同版本的程序(修改或者删除某处),然后为了让所创建的项目更加完美,将各个版本(即各个分支)中的精华合并在一起。分支就类似于可编辑的副本。

本地种工作区和版本库以及add和commit的区别

工作区:就是本地电脑上看到的目录,就是你自己建的,打算用来做成库的一个文件夹

版本库:在本地电脑中的概念就是.git文件(这个是隐藏文件,除非你电脑设置过,一般是隐藏的),这个你也别管,人家是一个文件夹,类似工作区,里面有stage(暂存区),指向master(git自动创建的第一个分支,也就是自己的原分支)的HEAD指针等等

add其实就是将工作区中的文件加到.git中的暂存区

commit其实就是将暂存区中的add的文件放到分支中(比如master)

以上,先到这儿,欢迎一起讨论前端,学习前端。本人github -->   https://github.com/HalenChiang

github使用成长记的更多相关文章

  1. 阿里巴巴年薪800k大数据全栈工程师成长记

    大数据全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 - Full Stack (需fanqiang).他把全栈工程师定义为对性能影响有着深入理解的技术通才.自那以后 ...

  2. 你好,C++(38)从问题描述中发现对象的属性和行为 6.4 工资程序成长记:类与对象(上)

    6.4  工资程序成长记:类与对象 “夜半三更哟,盼天明:寒冬腊月哟,盼春风.若要盼得哟,涨工资,岭上……”自从上次老板许诺给小陈涨工资以后,一转眼又过去几个月了,可是涨工资的事一点动静都没有.小陈只 ...

  3. 你好,C++(30)“大事化小,小事化了”5.4.3 工资程序成长记:函数

    5.4.3 工资程序成长记:函数 自从上次小陈“程序员”的工资程序得到老板的夸奖,口头许诺给他涨工资以后,老板再也没有找过他,涨工资的事自然也就没有下文了.这天,老板又突然召他去办公室.这下可把小陈高 ...

  4. 你好,C++(23) 4.4.2 工资程序成长记:用数组处理批量数据,用循环结构执行重复动作

    4.4  从语句到程序 了解了各种表达式和语句之后,就相当于掌握了写作文要用到的词语和句子,但是,仅有词语和句子是无法构成一篇有意义的文章的.要完成一篇文章,先需要确定这篇文章的结构,是先分述再总述, ...

  5. 菜鸟vimer成长记——目录

    菜鸟vimer成长记——第0章.我眼中的vim学习 菜鸟vimer成长记——第1章.统一概念 菜鸟vimer成长记——第2.0章.模式初探 菜鸟vimer成长记——第2.1章.normal模式 菜鸟v ...

  6. 蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人

    ***********************************************声明*************************************************** ...

  7. 蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统

    ***************************************声明*************************************** 个人在oracle路上的成长记录,当中 ...

  8. 蓝的成长记——追逐DBA(18):小机上WAS集群故障,由一次更换IP引起

    原创作品.出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...

  9. 蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere

    原创作品,出自 "深蓝的blog" 博客.欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...

随机推荐

  1. 重读gets()与is函数的用法

    这是从百度百科上查找的资料: gets(): 从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中.换行符不作为读取串的内容,读取的换行符 ...

  2. cmake编译win下64位obs

    obs是一款开源编码推流工具,简单易用,非常流行.一次项目中,发现本台式机I3处理器下32位obs推流CPU使用率100%.而使用的第三方设备在64位下,性能较好.所以需要编译64位obs并且编译相应 ...

  3. homework-02 "最大子数组之和"的问题进阶

    代码编写 这次的作业瞬间难了好多,无论是问题本身的难度或者是单元测试这一原来没接触过的概念或者是命令行参数的处理这些琐碎的问题,都使得这次作业的完成说不上轻松. 最大子数组之和垂直水平相连的拓展问题解 ...

  4. 【转】iOS开发--一步步教你彻底学会『iOS应用间相互跳转』

    1. 应用间相互跳转简介 在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景.这就需要我们掌握iOS应用程序之间的相互跳转知识. 下面来看看我们在开发过程中遇到的应用 ...

  5. Oracle中纵横表的转化

    横表就是普通的建表方式,如一个表结构为:主键.字段1.字段2.字段3......如果变成纵表后, 则表结构为:主键.字段代码.字段值.而字段代码则为字段1.字段2.字段3. 纵表对从数据库到内存的映射 ...

  6. UVALive 7281 Saint John Festival (凸包+O(logn)判断点在凸多边形内)

    Saint John Festival 题目链接: http://acm.hust.edu.cn/vjudge/contest/127406#problem/J Description Porto's ...

  7. Spring EL ternary operator (if-then-else) example

    Spring EL supports ternary operator , perform "if then else" conditional checking. For exa ...

  8. C#的dll被其他程序调用时,获取此dll正确的物理路径

    当C# dll被其他程序调用时,用Application.StartupPath获取的dll路径并不一定是此dll的物理路径,有可能是调用程序的路径. 以下方法或者能够获取dll正确的物理路径(未经过 ...

  9. 【Java】多线程冲突解决——同步锁

       转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827547.html    解决并行冲突最有效的方法就是加同步锁,主要有以下几种方法:   1:动态方法 ...

  10. Nginx NLB 及Redis学习

    负载均衡: ARR: 微软的应用级别的负载均衡方案 NLB:服务器级别的负载均衡方案 Nginx:反向代理 达到负载均衡. Redis:用作缓存(Redis 主从配置和参数详解 http://www. ...