git 使用学习笔记

    说到github,以前都是听到居多,并没有使用过。直到有一天,公司需要爬虫程序(我们公司是电商,要爬虫程序去获取一些网站的商品信息,哈哈,是不是很猥琐),然后一个哥们介绍说使用在github一款叫webcollection的单机爬虫,由此结实了伟大的github!

最近,一个爱看小说的朋友说,自己爱看小说,但是小说更新的时间点不定,每次都是自己在网站刷新小说的更新,绝大部分次数都是失望而归,问我有什么好办法。我一时兴起,就说,那还不简单,来,我给你写个程序,每当小说的章节有更新,就邮件通知你呗!朋友当然很开心,说搞定请我吃饭!哈哈,既然说了,那就得做到了。

我分析了一下,如果要完成功能,简单做的话,只需要三个环节,

第一个环节:定时器,定时或者定频率的去爬取网页内容(即更新的小说章节),实现方法,可以是前端的js的setinterval,或者是后台的spring定时器或者timer

第二个环节:爬取网页内容,比较章节数字大小。爬取网页内容,不外乎是在后台发送一个http请求,然后把返回的内容,使用jsoup来解析;比较章节数字大小,只有更新的(获取章节数比当前最新章节数大的)才去保存,这里,可能需要使用数据库了。

第三个环节:发送邮件。使用java的mail.jar包的支持,发送提醒邮件到指定用户邮箱。


当然,详细点的话,可能还有其他的问题,比如,

1.爬取的小说网站,本来是更新很快的,但是,突然更新很不及时了,那这样怎么办呢,需要重新找网站爬取,然后从新编码、部署?

2.代码ok了,打成war包了,部署在哪呢?

3.数据库也必须要使用外网的数据库,不能使用本地的数据库了。

4.还有,代码可能一次性是写不完的,除了在家编码外,我还想在其他地方完善代码,或者我想代码回退,那我怎么做呢?


首先,解决版本控制的问题吧,也就是第四个问题。版本控制,我第一个念头就是svn(哈哈,读者是不是同感),马上搜索了免费且稳定的svn服务器。

结果,只看到googleCode等寥寥,更悲催的,访问google还要FQ,fuck!果断放弃svn,想想,之前使用的git,不是也能胜任版本控制功能?哈哈,好的,

马上切换到git频道!


git的使用

1.注册Git

你使用Git起码要在github上注册吧?注册git账号流程,基本是傻瓜式,进入github网站,一直填写再下一步。。下一步。。。(这个真的不能不会哦)

2.git的客户端安装

2.1 git windows 2.5.1 *64 下载

2.2 git的安装,直接是exe文件,直接傻瓜式的下一步下一步。。。

安装好了,在开始菜单就能看的,恭喜,安装完成!

2.3 查看下git的版本

3.设置用户和邮箱,标示本机器

4.创建版本库

版本库,记录修改和增加等操作,便于任何时候回退版本。




查看novelWarn文件夹,可以看到,下面多了一个隐藏的.git文件夹,和svn的.svn文件夹类似,若无必要,请不要操作。


5.添加文件到git版本库

所有的版本控制工具,只能控制代码、txt等的内容改动,对图片等二进制的文件,只能判断是否改变,但是,图片这些具体改了什么,git也是爱莫能助!



6.git的远程仓库

远程仓库,这就是我们今天要说的重中之重啦!做这一步之前,github的账号,必须要注册号的哦!

因为本地和远程,是通过ssh加密的,所以,本地需要有点设置:

第一步,创建ssh Key。在user下面,看是否有.ssh目录,比如我的本地

。。。 好吧,得手动创建一个啦!

创建的命令是 sshkeygen -t -rsa -C 'abc@163.com' ,如果直接cmd命令里敲,回答你的肯定是这个冷冰冰的界面

原来,我们要在电脑的环境变量里增加ssh-keygen!请参考ssh-keygen 不是内部或外部命令



id_rsa是私钥,不可告诉别人的,pub是公钥,可以告诉别人滴!

可以看到自己添加的key啦!



1.如何创建远程仓库呢?

 首先,登录github上,然后在右上角找到“create a new repo”创建一个新的仓库。如下:


在Repository name填入testgit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:



目前,在GitHub上的这个testgit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。现在,我们根据GitHub的提示,在本地的testgit仓库下运行命令:

git remote add origin https://@xxx/novelWarn.git

把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了


好,到这里终于能提交到github了,吃饭去了!



更加具体的github使用,请戳我












posted @ 2016-01-01 19:50  Bug开发攻城狮  阅读(100)  评论(0编辑  收藏  举报