xml地图|网站地图|网站标签 [设为首页] [加入收藏]
Django学习目录,常用指令介绍
分类:编程

Git是目前世界上最先进的分布式版本控制系统(没有之一)

Django学习目录

学习Emit必不可少的, 会使用到IL中间代码. 初见IL代码, 让我有一种汇编的感觉, 让我想起了, 大学时, 学习8051的汇编语言. 多的就不扯了, 直接进入正题, OpCodes指令集是不是有一种让人望而却步的感觉, 那么多, 具体我没有数过, 但是肯定是比8051的指令多不少, 应该有200多个吧, 不过在实际使用的过程中, 肯定是用不到这么多的, 所以只要掌握一些常用的就够用了, 其余的, 查资料就可以了(大学老师当时也是这么教的, 实际使用中, 也确实是这样的)澳门新葡亰手机版,

先创建一个版本库,就是在合适的地方创建一个空目录
通过git init命令把这个目录变成Git可以管理的仓库

Django框架简介

Django基础 >>点我

一、示例

第一步: 使用git add 把在文件添加到仓库
第二步: git commit 把文件提交到仓库
git commit -m "xxx" 本次提交的说明

ORM介绍

Django中ORM介绍 >>点我

上一篇的结束部分, 贴出了一个中文注释版的OpCodes文件, 这部分内容跟那个文件是有很大关联的. 貌似, 贴在这一篇更合适呢...

get status 是查看当前状态
git diff 查看具体修改了什么内容
git log 查看历史记录
git --pretty=oneline 查看版本号,比git log 查看的信息少
HEAD 表示当前版本 HEAD^上一个版本 HEAD^^上上个
HEAD~100

ORM表操作

Django中ORM表相关操作 >>点我

嗯, 还是应该从示例里去开始讲

git reset --hard HEAD^ 回退到上个版本
git reflog 是记录对版本操作的每一次命令

模板系统

Django模板系统 >>点我

来源 : 

版本库(Repository)
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD
stage 是版本库里面的一个暂存区,git add会把需要提交的先放在暂存区,然后Git commit提交后,暂存区就是干净的
Git跟踪并管理的是修改,而非文件。,每次修改,如果不用git add到暂存区,那就不会加入到commit中。

路由系统

Django路由系统 >>点我

static void Sum(int sum, string sumStr)
{
            int a, b, c;
            a = 1;
            b = 2;
            c = 3;
            sum = a + b + c;
            sumStr = sum.ToString();
            Console.WriteLine(sumStr);

            for (int i = 0; i < c; i++)
            {
                if (i > b)
                {
                    Console.WriteLine("满足条件, 跳出循环");
                    break;
                }
            }
            Console.ReadKey();
}

撤销操作
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容

视图系统

Django视图系统 >>点我

 

远程仓库 首先创建一个.ssh目录 下面有id_rsa(秘钥) 和id_rsa.pub(公钥)
ssh-keygen -t rsa -C "youremail@example.com"
要关联一个远程库,使用命令git remote add origin
git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin
master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push
origin master推送最新修改;
分布式版本系统的最大好处之一是在本地工作完全不需要考虑远
程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!

Cookie & Session

Django中的Cookie和Session >>点我

 

.method private hidebysig static void Sum(int32 sum, string sumStr) cil managed
{
        .maxstack 2   //定义函数代码所用堆栈的最大深度,也指Evaluation Stackk中最多能同时存在2个值
        .locals init (    //变量的声明, (此时已经把num,num2,num3,num4,flag存入了Call Stack中的Record Frame中)
            [0] int32 num,
            [1] int32 num2,
            [2] int32 num3,
            [3] int32 num4,
            [4] bool flag)

        L_0000: nop        //无任何操作, 可忽略
        L_0001: ldc.i4.1   //加载 常量1 到栈中(压栈)
        L_0002: stloc.0    //从栈中把 常量1 拿出来, 赋值给num(出栈, 此时栈中已经没有东西了)
        L_0003: ldc.i4.2   //加载 常量2 到栈中(压栈)
        L_0004: stloc.1 
        L_0005: ldc.i4.3 
        L_0006: stloc.2 

        L_0007: ldloc.0   //将num变量压栈
        L_0008: ldloc.1   //将变量num2压栈 (此时栈中有两个值, num2在上面, num在下面)
        L_0009: add       //将num,num2求和的结果压栈(求和的时候, 会把两个值都提取出来, 所以结束后, 栈中只有一个结果值)
        L_000a: ldloc.2   //将num3压栈
        L_000b: add       //将num3,(num+num2)求和, 并压栈, 此时栈中, 只有最后的结果值
        L_000c: starg.s sum //将栈顶的值传给传参sum(短格式)

        L_000e: ldarga.s sum  //加载sum的地址到堆栈上(短格式)
        L_0010: call instance string [mscorlib]System.Int32::ToString()  //调用ToString()方法, 完成格式转换,将结果值放入堆栈中
        L_0015: starg.s sumStr   //将堆栈顶的值传给传参sumStr(短格式)

        L_0017: ldarg.1   //将索引为1的传参(sumStr)加载到堆栈中
        L_0018: call void [mscorlib]System.Console::WriteLine(string)  //调用Console.WriteLine方法

        L_001d: nop 
        L_001e: ldc.i4.0 
        L_001f: stloc.3      // i = 0
        L_0020: br.s L_0043 //无条件跳转到下面, 去判断 i<c 是否成立

        L_0022: nop 
        L_0023: ldloc.3   // i
        L_0024: ldloc.1   // b
        L_0025: cgt         // i > b ? 1 : 0
        L_0027: ldc.i4.0  //压栈0
        L_0028: ceq         //比较的结果在与0比较, (i > b ? 1 : 0) == 0 ? 1 : 0
        L_002a: stloc.s flag  //将结果存入本地变量flag
        L_002c: ldloc.s flag  //加载flag到堆栈中
        L_002e: brtrue.s L_003e //为真跳转到 L_003e

        L_0030: nop 
        L_0031: ldstr "u6ee1u8db3u6761u4ef6, u8df3u51fau5faau73af" //"满足条件, 跳出循环"
        L_0036: call void [mscorlib]System.Console::WriteLine(string)
        L_003b: nop 
        L_003c: br.s L_004d

        L_003e: nop 
        L_003f: ldloc.3    // i
        L_0040: ldc.i4.1  // 1
        L_0041: add        // i + 1
        L_0042: stloc.3   // i = i + 1

        L_0043: ldloc.3  // i
        L_0044: ldloc.2  //c
        L_0045: clt          // i < c ? 1 : 0
        L_0047: stloc.s flag  //将结果传给 flag
        L_0049: ldloc.s flag  //加载flag变量到堆栈中
        L_004b: brtrue.s L_0022  //为真跳转 L_0022

        L_004d: call valuetype [mscorlib]System.ConsoleKeyInfo [mscorlib]System.Console::ReadKey()
        L_0052: pop   //移除当前位于计算堆栈顶部的值
        L_0053: ret     //即为  return  标记 返回值
}

远程克隆 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆

ldc.i4.1:  i4--int32, 1--数值, 合起来就是  加载int32的数值1到堆栈中

本文由澳门新葡亰手机版发布于编程,转载请注明出处:Django学习目录,常用指令介绍

上一篇:没有了 下一篇:求解最大连续子数组的算法,把一个文件夹下所
猜你喜欢
热门排行
精彩图文