Git和Nodejs学习笔记

首先明确我们这次的任务

任务图

这次的作业我先分为了四大部分

them.png

  • Git创建版本库

First

  1. 运用cd进入版本库
  1. mkdir创建一个版本库
    pwd命令用于显示当前目录
    如下图所示
图一
  1. 通过 git init 把这个目录变成git可以管理的仓库
图二

这时当前testgit目录下会多了一个.git的目录(该目录下的文件不要贸然改动,因为该目录是git用来跟踪管理版本的)

Second

Git步骤二

版本回退

通过上面的描述,已经讲述完了修改文件,现在继续对readme.txt文件修改,增加一行33333333,继续执行命令如下:

9.png

现在已经对readme.txt文件做了三次修改,若要查看一下历史记录,则可以使用命令:git log ,演示如下:

git log显示从最近到最远的显示日志,即我们最近三次提交

若是认为图一显示的信息太多的话,可以用命令git log --pretty=oneline ,演示如图

2

如果 把当前的版本回退到上一个版本可以使用如下2种命令,第一种是:git reset –hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推

回退

再来查看下 readme.txt内容如下:通过命令cat readme.txt查看,并且可以继续使用git log 来查看下历史记录信息

13.png

增加333333 内容没有看到了,但是现在想回退到最新的版本,

  • 首先先通过git reset -hard获取版本号
  • 然后用git reset –hard 6fcfc89来恢复
    具体如下图:
000

  • 接下来,我们来讲解一下Git撤销修改和删除文件操作

Git 撤销、修改.png

现在来讲解Nodejs

首先记录我的第一个Hello World程序

nodejs.PNG
  • 对于Nodejs,Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架Node.js快速入门
    Node.js = 运行环境+ JavaScript库
  • Nodejs和JavaScript的区别
  1. node.js和javascript区别还是挺大的,1个是平台,1个是编程语言;
  2. javascript是客户端编程语言,需要浏览器的javascript解释器进行解释执行;
  3. node.js是一个基于Chrome JavaScript运行时建立的平台,它是对Google V8引擎进行了封装的运行环境;
  4. 简单的说node.js就是把浏览器的解释器封装起来作为服务器运行平台,用类似javascript的结构语法进行编程,在node.js上运行。

TDD测试代码网址

TDD代码

describe("Word Frequency", function () {
    it("returns empty string given empty string", function () {
        var result = main('');
        expect(result).toEqual('');

    });

    it("returns string given one word", function () {
        var result = main('he');
        expect(result).toEqual('he 1');

    });

    it("returns string given two different word", function () {

        var result = main('he is');
        expect(result).toEqual('he 1\r\nis 1');

    });

    it("returns string given two duplicated word", function () {
        var result = main('he is he');
        expect(result).toEqual('he 2\r\nis 1');

    });

    it("returns string given two duplicated words need to be sorted", function () {
        var result = main('he is is');
        expect(result).toEqual('is 2\r\nhe 1');

    });

    it("returns string given two duplicated words splited by multiple spaces", function () {
        var result = main('he     is');
        expect(result).toEqual('he 1\r\nis 1');

    });
    it("returns string given long string splited by multiple spaces", function () {
        var result = main('it was the age of wisdom it was the age of foolishness it is');
        expect(result).toEqual('it 3\r\nwas 2\r\nthe 2\r\nage 2\r\nof 2\r\nwisdom 1\r\nfoolishness 1\r\nis 1');
        document.write("result:"+"
"+result); });

var formatWordAndCount = function (word, count) {
    return word +
        ' ' +
        count;
};
var group = function (wordArray) { 
    return wordArray.reduce((array,word)=>{
            let entry = array.find((e)=> e.word === word);//找对象
                if(entry){
                    entry.count++;
                }else{
                    array.push({word:word , count:1});
                }
                return array;
        },[]);
};
var split = function (words) {
    return words.split(/\s+/);
};
var sort = function (groupWords) {
    groupWords.sort((x, y) => y.count - x.count);
};

function format(groupWords) {
    return groupWords.map((e) = > formatWordAndCount(e.word, e.count)).join('\r\n');
}
function main(words){
    if(words !== ''){
        let wordArray=split(words);
        let groupWords = group(wordArray);
        sort(groupWords);
        return format(groupWords);
    }
    return ''
}

这是后来修改后的第二次提交结果

Paste_Image.png

这是第一次的TDD提交结果


  • Git提交结果


    Git.png

本次作业的心得体会

  • 总的来说是各种困难摆在面前吧,于我而言,Git和Nodejs都是两个新事物,我需要一步一步地去进行学习,从安装环境到用法的熟悉,都花了不少时间,然后写代码的时候刚开始是完全写不了,有一种“题目认识你,可是你却不认识它一样”,随后我请教了同学,并且慢慢地进行自我摸索,总算是在磕磕绊绊之后把代码给死磕了出来,无论做什么事过程都是艰难的可是到真正完成之后就会有一种成就感。
  • 其次就是这次的任务我认为对我的自主学习也有很多提升,也发现了很多学习知识的新大陆
    然后给大家推荐一个技术大牛发表文章的网站community
    不错的App集锦app

你可能感兴趣的:(Git和Nodejs学习笔记)