Git基础篇(五)——Git版本提交
Git基础篇(四)——Git版本提交前言:  Git操作的单位是版本,一次提交就是一个版本,而所有版本的集合就是版本库(Repository)。Git的操作就是针对版本的操作,想要熟练掌握Git关键就在熟练的对版本的操作。
1 Git提交1.1 修改提交到暂存区  当对某个文件内容进行修改或新增文件后,我们需要先将这些“变化”提交到 暂存区 。
1.1.1 git add  将工作区当前目录及其子目录内所有变化提交到暂存区,包括修改、新建和删除。
1git add .
  将工作区被删除或修改的文件提交到暂存区,不会提交新建的文件。
1git add -u
1git add --update
  将整个工作区所有目录内的所有变化提交到暂存区,包括修改、新建和删除。在v2.0以上版本中,与git add .的区别在只是作用范围不同。
1git add -A
1git add --all
&em ...
Git基础篇(六)——Git版本回退
Git基础篇(六)——Git版本回退前言:  人无完人,没有人能确保每次的修改都是完美的,即使提交是完美的需求也可能突然改变。版本回退是Git中重要且常用的操作之一。
1 Git版本回退  说到版本回退首先要知道Git是如何标识不同版本的。Git会为每次提交上去的版本记录快照并生成一串十六进制编号(Hash值),以这串编号作为当前版本的独一无二标识,按照时间线多次的提交就连成条”线“也即提交记录,每一条”线“就是一个分支,还存在一个HEAD指针指向其中一个版本也即其记录了某个版本的十六进制编号。原理就像数据结构中链表和节点指针的关系。
123commit 6574ac2446b82c86f2af107783b405032784303aAuthor: onlycalm <741089410@qq.com>Date: Fri Feb 12 00:05:22 2021 +0800
Git基础篇(六)——Git版本回退前言:  人无完人,没有人能确保每次的修改都是完美 ...
Git基础篇(四)——Git创建版本库
Git基础篇(四)——Git创建版本库前言:  Git并不是对任意目录都能进行管理,首先管理的目录必须是Git创建的版本库,那么如何将项目目录创建为Git版本库进行管理呢?
1 创建Git版本库  在工程的根目录(可以是空目录)下执行“Git Bash”命令,或对工程根目录文件夹右键鼠标菜单中点击“Git Bash Here”弹出命令行窗口执行以下命令:
1.1 git init1git init
  该命令会在根目录下自动创建文件夹”.git“(该目录默认是隐藏的),意味着Git把这个目录变为了Git可以管理的仓库了,”.git“目录中记录了Git对于该项目的所有版本管理记录,所以千万不要随意去修改它,你只需运行指令让Git自动管理这个目录。  另外,值得一提的是,Git擅长的是文字文本的版本管理,如果涉及图片、视频、pdf、硬件原理图等更复杂的文件,Git对齐的版本管理效果很差。
Git基础篇(二)——Git安装
Git基础篇(二)——Git安装前言:  Git最初的版本是在Linux上开发的,因此在很长一段时间里Git只有Linux和Unix版本,目前它已经可以在Linux、Unix、IOS、Windows几大平台上运行。
1 Windows安装Git  Git是免费开源的,我们直接在Git官网下载相应的Release版本安装即可。
Git基础篇(二)——Git安装前言:  Git最初的版本是在Linux上开发的,因此在很长一段时间里Git只有Linux和Unix版本,目前它已经可以在Linux、Unix、IOS、Windows几大平台上运行。
1 Windows安装Git  Git是免费开源的,我们直接在Git官网下载相应的Release版本安装即可。
  按照默认,一路点“下一步”就行了。在开始菜单或鼠标右键中就可以看到“Git-Bash”,在其中即可输入Git指令执行。   ...
Git基础篇(一)——认识Git
Git基础篇(一)——认识Git前言:  Git是目前最主流的分布式版本管理系统。另外,Git也是开源的,高效的管理系统,从小到大的项目都可以使用Git轻松管理。目前它已经是使用最广泛的版本管理工具了。
1 Git发展史简述  2005年,Linux的缔造者Linus Torvalds用C编写了一个分布式版本控制系统用于对Linux系统源码的管理,自此Git正式登上历史舞台。自此Git迅速流行起来,直到2008年GitHub网站上线,免费为开源项目提供基于Git的存储,自此Git开始逐渐成为主流版本管理系统。
2 Git与其他版本管理系统有什么不同?  Git与其他版本管理系统不同,它是分布式的,而CVS和SVN都是集中式版本管理系统。
2.1 集中式版本管理系统  集中式版本管理系统核心是必有一台中央服务器,其余电脑与这台服务器相连接,当需要开发项目时,必须先从服务器上获取相应的版本副本,修改完成后再将自己的副本推送到服务器端进行更新,其他人 ...
单片机存储分配
单片机存储分配前言:  RAM和Flash是单片机重要的数据存储介质,在使用MDK编译时我们也会看到编译结果中会显示’Code、RO-data、RW-data、ZI-data’的使用大小。单片机到底是怎么划分这些存储区域,变量和代码是怎么存储的呢?
1 单片机存储区域的划分  单片机对地址的划分规则(按照地址排序)一般如下:高地址
地址划分区域
含义
命令行及环境参数(高地址)
main函数是可以有参数的,而传入的参数值将被存储在该区域。
STACK(栈)
由编译器决定分配和释放,存放函数的参数变量及局部非静态变量等。属于动态内存分配。
HEAP(堆)
通常由程序员;申请和释放,若忘记释放则在程序结束时释放。属于动态内存分配。
.bss段(未初始化数据段)
通常用来存放程序中未初始化的全局变量和静态变量,也称为.bss段(Block Started by Symbol),属于静态内存分配。
.data段(初始化数据段)
通常用来存放程序中已初始化的全局变量和静态变量,属于静态内存分配。
...
Vim基础篇(五)——搜索操作
Vim基础篇(五)——搜索操作前言:  代码编辑少不了搜索功能,而Vim的搜索功能十分强大。
1 *和#查找
[N]*正向查找(向下查找)第N次出现当前光标所处字符串的地方,将光标跳转到此处。
[#]反向查找(向上查找)第N次出现当前光标所处字符串的地方,将光标跳转到此处。
  通过指令:noh可以取消搜索字符串的高亮。  查找后被查找的字符串会被高亮,此时可以使用n和N在搜索的字符之间跳转。
[N]n向下跳转到第N个搜索字符的字符串首。
[N]N向上跳转到第N个搜索字符的字符串首。
2 /和?查找  向下查找第N次出现“pattern”的地方。N在输入/或?之前输入。
1/{pattern}[/]<CR>
1?{pattern}[?]<CR>
  向下查找第N次出现“pattern”的地方,“offset” ...
Vim基础篇(四)——标签页操作
Vim基础篇(四)——标签页操作前言:  Window是显示Buffer的控件,而Tab是存放Window的控件。一个Tab内可以放多个Window,一个Vim可以运行多个Tab。掌握Tab的基本操作会使得编辑工作更得心应手。
1 Tab的创建或删除  在Vim启动时将自动为你创建一个Tab。 注意:Window、Tab、Buffer三者之间没有必然的对应关系。
  新建Tab页,并且在新的Tab页中打开一个新的Window并且新建一个名为“file”的Buffer。如果未指定“file”,则新建一个无名缓存。
1:tabnew {file}
  新建Tab页,并且在新的Tab页中打开一个新的Window显示“file”文件内容,即将该文件内容读入缓存。如果未指定“file”,则打开一个无名缓存。
1:tabe[dit] {file}
  关闭编号为N的Tab也,同 ...
Vim基础篇(三)——缓存操作
Vim基础篇(三)——缓存操作前言:  Buffer是一块内存缓冲区,Vim打开文件实际是把文件的内容读取到缓冲区中,未保存时修改内容实际是修改缓冲区中的内容,保存文件就是把缓存中的内容写入到文件中(文件是存储在硬盘)。对Vim的缓冲区有一定熟悉了解,并掌握一些基础的Buffer操作将会使我们的编辑过程更加随心所欲。
1 Buffer的创建或删除  Vim打开文件实质是将处于硬盘的文件内容读取到内存中,也即只要是打开文件的操作Vim都将为打开的文件创建一个缓存空间。例如vim file1 file2 file3即为同时打开三个文件,相应的创建了三个Buffer。  Buffer与窗口不是一一对应的关系,但Buffer必须借助Window才能显示。
  将当前缓冲区内容写入文件,也就是保存文件,如果设置了readonly则不能写入,如果加上!表示”强制“,即使只读也可强制写入文件。
1:w[rite][!] {file}
& ...
Vim基础篇(二)——窗口操作
Vim基础篇(二)——窗口操作前言:  为了更高效的浏览内容,Vim的一大优势是方便快捷的支持多窗口操作。Vim的多窗口是动态的,可以在打开时就创建多窗口,也可以在编辑过程中新建或关闭窗口。
1 运行时创建多窗口  通过在命令行中输入指令启动Vim并打开文件,当同时打开多文件时我们可以指定窗口的划分方式。
  启动Vim并打开文件file,可以同时指定多个文件,将按指定顺序从上到下打开。将窗口水平分割为N份。如果N大于指定的文件数,多余的窗口也会被打开,但会闲置。如果N小于指定的文件数,那么超出的文件不会在窗口中打开,但会在缓存中打开。N省略时效果等同于N等于文件数。例如:’vim -o5 file1.txt file2.txt’。如果文件不存在则新建。
12vim -o{N} {file}
  启动Vim并打开文件file,可以同时指定多个文件,将按指定顺序从左到右打开。将窗口垂直分割为N份。如果N大 ...