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

    Statistics in Hive Statistics in Hive Motivation Scope Table and Partition Statistics Column Statist ...

  2. Downloading the Google Cloud Storage Client Library

    Google Cloud Storage client是一个客户端库,与任何一个生产环境使用的App Engine版本都相互独立.如果你想使用App Engine Development server ...

  3. HDU-4751 Divide Groups 染色问题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4751 题意:有n个人,每个人都认识一些人,要求把他们分成两个集合,使得两个集合中的人都相符两两认识. ...

  4. thymeleaf中的th:with用法

    局部变量,th:with能定义局部变量: <div th:with="firstPer=${persons[0]}"> <p> The name of th ...

  5. Webstorm2016激活码[ 转]

    转至:http://blog.csdn.net/tingwode2014_/article/details/51063657 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QT ...

  6. python的sys.path

    python检测不到模块: No module named 是因为模块没有在sys.path中,查看sys.path的方法 import sys sys.path 发现确实没有加载到模块. windo ...

  7. mysql distinct

    mysql的DISTINCT的关键字有很多你想不到的用处1.在count 不重复的记录的时候能用到比如SELECT COUNT( DISTINCT id ) FROM tablename;就是计算ta ...

  8. 在Hibernate中使用HibernateTemplate来进行包含sql语句的查询

    /**     * 使用sql语句进行查询操作     * @param sql     * @return     */    public List queryWithSql(final Stri ...

  9. UVa442 Matrix Chain Multiplication

    // UVa442 Matrix Chain Multiplication // 题意:输入n个矩阵的维度和一些矩阵链乘表达式,输出乘法的次数.假定A和m*n的,B是n*p的,那么AB是m*p的,乘法 ...

  10. android SoundPool播放音效

    MediaPlayer的缺点: 资源占用量高,延时时间较长 不支持多个音效同一时候播放 SoundPool主要用于播放一些较短的声音片段,CPU资源占用率低和反应延时小,还支持自行色设置声音的品质,音 ...