Git基础篇(八)——Git删除操作
GitGit基础篇(八)——Git删除操作前言: 前面我们降到了文件提交到Git,那么将不需要的文件删除呢?比如某一次提交不小心提交了不需要的工程副产物文件。 1 删除工作目录文件 工作区的文件正修改的文件实际上还未被Git进行管理,直接删除即可,这里还是介绍一种在命令行窗口中通过指令删除的方法。使用rm指令加文件名形式。 1rm a.c a.h 这样删除的只是工作目录下的文件,不影响暂存区和仓库。 2 删除暂存区文件 指令git rm会同时将文件从工作目录和暂存区删除。 1git rm a.c a.h 如果删除的文件在工作区已经被修改或在暂存区它是本次刚add进来还未commit的,使用git rm指令删除则会出现错误提示,我们可以使用参数-f表示强制删除。 1git rm -f a.c a.h 如果只想把文件从暂存区删除,而不从工作目录删除,也即add指令的反面指令,可以使用--cached参数。 1git rm --cached...
Git基础篇(七)——Git修改管理
Git基础篇(七)——Git修改管理前言: 对于版本的管理,版本之间的差异对比是常用的操作,检查修改的内容。 1 暂存区和工作目录的差异 通过使用git diff查看当前暂存区和工作目录的差异(只显示差异部分即快照),但不会显示工作空间新增的文件。 1git diff 也可以指定要查看的文件。 1git diff a.c a.h 2 暂存区和本地仓库的差异 想要查看暂存区和当前本地仓库之间的差异可以使用参数--cached或staged。 1git diff --cached 1git diff --staged 也可指定要查看差异的文件。 1git diff --cached a.c a.h 1git diff --staged a.c a.h 3 仓库两次提交的差异 本地仓库存在多次提交时,我们想要比较某两次提交之间的差异,这时候可以指定要比较的两个版本的Hash编号或标签。 1git diff 64a7e38...
Git基础篇(三)——Git工作区域及文件状态
Git基础篇(三)——Git工作区域及文件状态前言: 想要真正熟悉Git用法,必须对Git工作原理有所熟悉。这篇文章介绍Git的集中工作区域和Git中文件的几种状态。 1 Git四种工作区域 Git将存储区域划分为四种:工作目录(Working Directory)、暂存区(Stage/Index)、仓库区/版本库(Repository/Git Directory)、远程仓库(Remote Directory)。 工作目录(Working Directory):就是你的项目目录但不包括”.git“目录,是对文件进行编辑修改的目录; 暂存区(Stage/Index):用于临时存放改动,此时改动已经被Git进行管理。实际上暂存区就是”.git“目录下”index“文件(.git/index); 仓库区/版本库(Repository/Git Directory):核心区域,是存放所有版本提交的区域,内容都存放在”.git“目录中; 远程仓库(Remote...
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 如果写明文件名可以指定要提交到暂存区的文件。 1git add...
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...
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-Bash”,在其中即可输入Git指令执行。 在Git版本管理系统中,每个操作者都需要标识“身份”,Git中是通过用户名和邮箱地址进行“身份”标识的。在“Git-Bash”中输入以下指令配置自己的用户名和邮箱地址。 12git config --global user.name "Your Name"git config --global user.name "email@example.com"
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...
Vim基础篇(五)——搜索操作
Vim基础篇(五)——搜索操作前言: 代码编辑少不了搜索功能,而Vim的搜索功能十分强大。 1 *和#查找 [N]*正向查找(向下查找)第N次出现当前光标所处字符串的地方,将光标跳转到此处。 [#]反向查找(向上查找)第N次出现当前光标所处字符串的地方,将光标跳转到此处。 通过指令:noh可以取消搜索字符串的高亮。 查找后被查找的字符串会被高亮,此时可以使用n和N在搜索的字符之间跳转。 [N]n向下跳转到第N个搜索字符的字符串首。 [N]N向上跳转到第N个搜索字符的字符串首。 2...













