美文网首页
Git,预解释

Git,预解释

作者: 固执_i | 来源:发表于2017-07-18 21:41 被阅读0次

    怎么判断git是否安装成功: git --version/git -v

    只要能打印出版本号,就代表git安装成功;

    如何打开命令符

    windows+r -> window; terminal.app->mac;

    如何配置git

    • git config --global user.name "github的用户名"
    • git config --global user.email "github的邮箱地址"

    创建本地仓库

    1、创建一个空文件夹
    2、把文件夹变成git可以管理的仓库:git ini
    查看当前文件夹下有哪些子文件 :ls -a
    3、在本地仓库在Git bash中打开
    左手按shift+右手点击右键; 选择在此处打开命令行;

    关于远程仓库

    • 如何查看链接了哪些远程仓库: git remote -v
    • 链接远程仓库
      • git remote add 远程通道名称 通道地址
        远程仓库名称:(自己起的,一般自己的远程仓库,默认是origin)
        通道地址:从github上复制粘贴过来的;
      • 移出远程通道 : git remote rm 通道名称
    • 更新远程项目
      • git remote add xxx 建立和远程仓库的联系
      • git remote update 仓库名
      • git pull 仓库名 master

    git工作流-》目的:把本地仓库的内容,推送到远程仓库;

    1、 git add . 代表把当前目录下,所有的文件都推送上去;

    2、 git commit -m"注释" 把工作区的内容推送到暂存区

    3、 git push origin master 把暂存区的内容推送到历史区;即推送到GitHub的远程仓库的master分支上去;

    git克隆

    • git clone
    • 如何把别人的项目叉到自己的远程中:fork;
    • 注意:通过git clone之后的文件夹,不能直接进行提交,必须进入clone下来的文件夹,才能运行git工作流
      • git add .
      • git commit -m"注释"
      • git push origin master
    • 小捷径:喜欢谁的项目,就直接克隆 git clone

    涉及一些常见的命令

    • 进入某个文件夹: cd 文件夹的名字
    • 文件夹名字自动补全: 先写上一部分+ tab键自动补全
    • 回退到上一级:cd ../
    • 查看当前目录下的可视文件 ls / dir
    • 清屏 clear / cls

    学生更新老师讲义 : 老师贡献代码;

    1、 把老师发到群里的地址,复制粘贴到自己github的地址栏

    2、 回车后会进入老师的远程仓库,通过fork把项目用叉子叉到自己的远程;

    3、 通过git clone 自己远程仓库的地址; 把自己远程克隆到自己本地;

    4、 建立自己本地和teacher远程之间的联系 :git remote add teacher https://github.com/yuanmengyuan/javascript2017628.git
    5、 当老师内容更新的时候,学生需要做2步
    (1、 git remote update teacher
    ( 2、 git pull teacher master 把远程更新拉到本地
    小总结:当老师远程内容更新的时候,影响了学生本地

    学生提交作业 : 学生贡献代码;

    1、 学生更新自己本地的内容:也就是在同学作业文件夹下,添加自己的作业;

    2、 学生把自己本地新内容,提交到自己远程
    (1. git add .
    (2. git commit -m"xxx"
    (3. git push origin master

    3、 点击 new pull request 按钮
    再点击create pull request 按钮,可以写注释 create pull request

    image

    预解释

    • 为什么要学预解释?
      1、不知道应该把函数/或比变量 定义在哪里?

      2、不知道为何条件判断中写函数定义阶段,会执行错误的结果;

      3、同一段函数,在不同的场景下,结果不同;

      4、方便我们代码调试

    • 概念:在当前作用域下,在js代码执行之前,浏览器会对带var和带function的,进行声明或定义;

    • 带var和带function的,声明和定义不同

      • 带var:只声明,不定义 var a;
      • 带function的,声明+定义 var fn=xxff00;
    • 私有变量有2种

      • 形参
      • 函数中带var的;
    • 函数定义3步骤
      1、开辟一个空间地址

      2、把函数体内的JS代码,作为字符串存在这个空间中

      3、把空间地址赋值给函数名

    • 函数调用4步骤
      1、形成一个私有作用域;

      2、形参赋值

      3、预解释

      4、代码从上到下的执行
      /function fn(n) {
      alert(n);//undefined
      var n=456;
      alert(n);//456
      }
      fn()
      /

      image

    内存包含:堆内存 和 栈内存

    • 栈内存:提供了一个供JS代码执行的环境
      包含:全局作用域和私有作用域
    • 堆内存:用来存放引用数据类型的数据
      • 函数数据类型,在对内存中以"字符串"形式存储
      • 对象数据类型,以"key:value"的形式存储;

    作用域链

    当函数被调用的时候,会形成一个私有作用域,我们查看是否有私有变量n;

    1. 如果有,说明当前函数中,所有的n都是私有变量
    2. 如果没有,往上级作用域进行查找,找不到,继续找,一直找到window全局作用域还没有的话,报错!
      function fn() {
      //带var的只声明,不定义; var n;
      alert(n) //undefined;
      var n=123;
      alert(n) //123
      }
      fn();
      alert(n)//12

    相关文章

      网友评论

          本文标题:Git,预解释

          本文链接:https://www.haomeiwen.com/subject/ohxkkxtx.html