摘要: git 的数据存储数据结构是键值类型,git中底层生成了4中数据的对象 commit:commit 对象指向一个 tree 对象,并且带有相关的描述信息. tree: 可以看作一个目录 blob: 通常用来存储文件的内容 tag:tag 对象包括一个对象名(SHA1签名)、对象类型、标签名、标签创建 阅读全文
posted @ 2020-05-04 20:12 Ever-Lose 阅读(1191) 评论(0) 推荐(0) 编辑
摘要: MongoDB 从一开始就是设计作为分布式数据库的,为了方便不同的机器都能全局唯一的生成 _id,而自增 id 需要在多个服务器上同步其值,费时费力,所以自然得设计成长字符串。 ObjectId 是"_id" 的默认类型,举个官网的例子 ObjectId 是一个字符串,有 24 个字符,使用 12 阅读全文
posted @ 2020-05-04 12:57 Ever-Lose 阅读(3128) 评论(0) 推荐(0) 编辑
摘要: 检出checkout(co) 更新update(up) 提交commit(ci) 查看当前目录最近5 次提交记录 查看当前工作拷贝信息 查看当前未提交的文件status(st) 这个命令输出每个添加、修改、删除过的目录和文件,前面的C 表示冲突,要特别注意。linux 下也可以用svn st | g 阅读全文
posted @ 2020-05-04 12:04 Ever-Lose 阅读(2429) 评论(0) 推荐(0) 编辑
摘要: 维护自己的代码片段,传 Demo 实例的时候,总会有人不留神就提交了不该提交的代码,如公司的数据库连接信息。 这种情况下等你反应过来后,该如何删掉你之前的提交记录呢? 创建一个叫new_start的分支,改分支没有任何历史记录,但是所有文件都会原封不动的存在。 然后你编辑文件后,删掉不该传的东西后, 阅读全文
posted @ 2020-05-04 12:03 Ever-Lose 阅读(1575) 评论(0) 推荐(0) 编辑
摘要: 问题 github 上的 repo 由于 commit 次数过多 导致 repo 被 clone 下来时,.git文件夹特别大,比代码本身大。 我确定当前 commit 之前的 change 对我都没有用了,用什么方法能清除之前的提交记录,让 clone 下来的 .git 文件夹变小一点? 方法 c 阅读全文
posted @ 2020-05-04 12:02 Ever-Lose 阅读(4070) 评论(0) 推荐(0) 编辑
摘要: 需求 假设我有两个仓库: git@github.com:everlose/CSS3Practice.git git@gitlab.com:everlose/CSS3Practice.git 我希望能再一份本地的工程里push代码能同步到两个仓库里。 如果说push代码的指令如这般: 命令行操作 输入 阅读全文
posted @ 2020-05-04 11:59 Ever-Lose 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 去 github 个人设置 ssh key,把公钥的内容 测试是否能连接 阅读全文
posted @ 2020-05-04 11:57 Ever-Lose 阅读(5390) 评论(0) 推荐(0) 编辑
摘要: 简介 摘自 "阮一峰的博文" 基本名词 workspace 工作区 Index / Stage 暂存区 Repository 仓库区(本地仓库) Remote 远程仓库 git工作流程 新建代码库 配置 git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),页可以在项目目录下(项 阅读全文
posted @ 2020-05-04 11:54 Ever-Lose 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 查找提交记录 找到最近若干次的commit记录,假如我们需要舍弃记录1和记录2,希望直接把远端的分枝回滚到记录3。 强制回滚 其中 hard后面的八位字符时上面提交记录里的commit后面的一串的前八位。 查看得知本地回滚成功,但是远程的库还没回滚。 远程回滚 成功的提示如上。但是如果执行后不成功, 阅读全文
posted @ 2020-05-04 11:53 Ever-Lose 阅读(1144) 评论(0) 推荐(0) 编辑
摘要: 简介 在使用 Git 作为版本控制的时,处于多种原因想修改commit。 如果没有 push 到服务器的情况,,只是本地进行了 commit,并且没有进行新的 commit,只需要 还没 push 到服务器,但是有了新的 commit,只需要 git reset soft xxx (xxx有问题那次 阅读全文
posted @ 2020-05-04 11:51 Ever-Lose 阅读(901) 评论(0) 推荐(0) 编辑
摘要: 简介 Mac 中每个目录都会有个文件叫 .DS_Store, 用于存储当前文件夹的一些 Meta 信息。每次提交代码时,我都要在代码仓库的 .gitignore 中声明,忽略这类文件。有方法可以全局性的忽略某种类型的文件吗?按照以下两步就可实现 一、创建 ~/.gitignore_global 文件 阅读全文
posted @ 2020-05-04 11:44 Ever-Lose 阅读(2238) 评论(0) 推荐(0) 编辑
摘要: 简介 标签可以针对某一时间点的版本做标记,常用于版本发布。 查看tag 查看标签信息 用git show命令可以查看标签的版本信息: 打标签 git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象。建议使用附注标签。 创建轻量标签不需要传递参数,直 阅读全文
posted @ 2020-05-04 11:42 Ever-Lose 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 步骤 新建一个分支 git checkout -b bugfix/style 做了一些修改,然后 add,commit提交 git checkout master git rebase bugfix/style 如果这一步没有冲突就直接 push。 如有这一步出现冲突,则Git会停止rebase并会 阅读全文
posted @ 2020-05-04 11:40 Ever-Lose 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 一不留神代码提交去了 master 怎么办 阅读全文
posted @ 2020-05-04 11:38 Ever-Lose 阅读(707) 评论(0) 推荐(0) 编辑
摘要: 单个分支的功能一定要纯净,对于多个功能混在一个分支上的情况,将拒绝合并 Commit Message 规范(Angular 社区提交规范) feature:feat: ${新功能描述} fix:fix: ${修复事项描述} docs:doc: 更新文档 refactor:refactor: ${重构 阅读全文
posted @ 2020-05-04 11:34 Ever-Lose 阅读(429) 评论(1) 推荐(0) 编辑
摘要: squash commit 的坑 阅读全文
posted @ 2020-05-04 11:02 Ever-Lose 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 先上结论,根据官网的说法是 B 树 然而笔者看到一篇, "云栖社区 MongoDB 为什么使用B 树而不是B+树?" ,里面有人如下回答 实际是B+树,这个在2018年元旦北京的MongoDB专场,我问了WiredTiger引擎的作者,他也确认了是B plus Tree。虽然官方文档写了B树。 现在 阅读全文
posted @ 2020-05-04 10:51 Ever-Lose 阅读(2480) 评论(1) 推荐(1) 编辑
摘要: 结论 默认不会加读锁!但 MySQL InnoDB 的可重复读并不保证避免幻读,需要应用使用加锁读来保证。而这个加锁度使用到的机制就是 next key locks。 隔离级别说明 MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ)。 未提交读(REA 阅读全文
posted @ 2020-05-04 00:03 Ever-Lose 阅读(760) 评论(0) 推荐(0) 编辑