学校里一直都有自己写一些网页,一方面为了学习熟练技能,另一方面也是兴趣所在。但是独乐乐不如众乐乐,一直向往有那么一个平台能把自己做得东西分享给广大网友,并且想借着分享的契机和各位程序猿交流学习心得(这才是重点~)。因为大二大三只知道自己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. linux 和 android 源码的 cross reference (即网页浏览代码的引用)

    linux: http://lxr.free-electrons.com/               相当好 android: http://androidxref.com

  2. 【转】Maven实战(七)---传递依赖

    原博文出自于:http://blog.csdn.net/liutengteng130/article/details/47000069   感谢! 假设A-->C  B-->A      ...

  3. mysql的point类型查询处理

    mysql的point类型,很蛋疼的表示更习惯于key—value的lng,lat 假设不得不处理数据库字段poi是point类型,其中的数据为 : POINT(28.2789745229671 11 ...

  4. Gradle – Spring 4 MVC Hello World Example – Annotation

    In this tutorial, we will take the previous Gradle + Spring MVC XML example, rewrite it to support @ ...

  5. maven系列(2)-第一个maven的项目

    上一篇简单了介绍了maven和maven的安装,这篇介绍如何用maven创建项目. 1. 命令行创建maven项目 maven创建项目很简单,直接调用mvn archetype:generate命令即 ...

  6. BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)

    Baby Ming and Weight lifting Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K ( ...

  7. BestCoder Round #67 (div.2) N bulbs(hdu 5600)

    N bulbs Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Su ...

  8. VB.NET开发中遇到的一个小问题

    在修改公司用vb.net的写的代码时,遇到一个小问题 页面上有一个button, ID是btnNext, 在属性页中,它的click事件对应的是cmdNext, 我像在c#中一样,在属性页中双击cmd ...

  9. Object类、instanceof

    一.Object 1.所有类都默认继承至Object 2.两个常用的方法 2.1.toString:返回类的字符串描述,一般子类会重写用来打印属性 2.2.equals:默认比较两个对象的引用是否相同 ...

  10. 哥也能写KMP了——实现strstr()

    经过上次去面试,面试官要求实现strstr(),当场就蒙了.这个题目是模式匹配问题,<算法导论>里列出了几种字符串匹配算法: 朴素算法 |  Rabin-Karp | 有限自动机算法 | ...