在前篇文章中,提到过在使用联合类型时可能需要进行类型缩小,比如: function concatStr(prefix: string | number, context: string) { if (typeof prefix === "number") { // 如果前缀是数字,返回若干个空格和字符串拼接的结果 return " ".repeat(prefix) + context; } // 如果前缀是字符串,直接拼接后返回 return prefix + co…
在前篇文章中,提到过在使用联合类型时可能需要进行类型缩小,比如: function concatStr(prefix: string | number, context: string) { if (typeof prefix === "number") { // 如果前缀是数字,返回若干个空格和字符串拼接的结果 return " ".repeat(prefix) + context; } // 如果前缀是字符串,直接拼接后返回 return prefix + co…
在系统学习 TypeScript 前,需要先部署开发环境,具体可以查看TypeScript 简易指南。 基本类型 TypeScript 与 JavaScript 一样,常见的基本类型有: let name: string = "张三"; console.log(name.toUpperCase()); let age: number = 42; console.log(age.toFixed(2)); let isOk: boolean = true; console.log(isOk.valueOf())…
TypeScript 是 JavaScript 的超集,在 JavaScript 之上添加了类型检查等功功能,在运行时依然需要编译成 JavaScript 代码后运行。 环境准备 使用 TypeScript 需要先安装 Node.js 环境。 全局安装 ts: ❯ npm install -g typescript 需要管理员权限,否则会安装失败。 项目初始化 打开项目根目录,执行 tsc --init,在项目根目录下会生成一个tsconfig.json文件。其中比较重要的配置项: { "target": "ES…
在 Git 中,将两个分支的代码进行整合有两种方式:合并(merge)和变基(rebase)。 基本操作 假设一个很常见的操作,从 main 分支拉取一个特性分支,并且出现分叉: 可以用下图表示: 如果通过合并操作将特性分支整合到主分支,会最终变成: 这样做很简单,但查看日志会发现这些分叉和合并。 因此可以选择通过变基的方式整合代码: ❯ git checkout feature/1 ❯ git rebase main 变基时的主次是很重要的,变基(rebase)的意思是改变当前分支的地基为目标分支,因此为了将特性…
Python 项目的版本通过 pyproject.toml 文件指定: [project] name = "markdown-img-icexmoon" version = "2.0.3" description = "A program for find and upload images in markdown file and will replace them." readme = "README.md" requires-python = ">=3.13" 但这样做有一个问题,这个用于描述项目信息的…
分支管理 查看当前仓库的所有(本地)分支: ❯ git branch dev feature/1 feature/2 * main release/260126 temp-v1.0 testing 这里的*标记的分支是当前生效的分支,即HEAD指针指向的分支。 可以使用-v查看每个分支最后一次提交记录: ❯ git branch -v dev 20631fd hello3 feature/1 8b8dbd9 add school feature/2 106…
与 SVN 不同,Git 的每次提交都像是对整个文件系统的一次快照。可以把每次提交想象成以下的样子: commit1表示一个初始提交,包含所有的文件内容,在这个示例中是 A B C 三个文件。 commit2表示在初始提交后的一个提交,仅对文件 B 进行了修改,该提交中包含完整的文件 B,以及对其他文件(A 和 B)的引用(因为它们没有修改)。 Git 中对每次提交的真实存储结构是: 图源:git-scm.com 最左侧的 commit 表示一次提交,包含表示提交唯一身份的 SHA1 值,以及提交信息(作者、提交人…
有些命令比较冗长难记,比如如果要撤销某个暂存区文件: ❯ git reset HEAD -- ch1/demo/src/main/java/cn/icexmoon/learngit/demo/entity/Teacher.java 当然也可以使用 git restore --staged。 可以设置一个命令别名: ❯ git config --global alias.unstage 'reset HEAD --' 现在我们可以使用别名执行命令: ❯ git unstage ch1/demo/src/main/ja…
创建标签 如果要为分支最近的一次提交添加标签: ❯ git tag v1.0 标签名称可以是任何内容,但通常标签用于版本标记。 此时再查看日志,就会在相应的提交记录上看到标签: 查看分支拥有的标签: ❯ git tag v1.0 通过上述方式创建的标签是一个轻量级标签,如果查看标签会发现仅包含提交记录的信息,但并不包含标签本身的信息(比如标签是谁添加的、标签的添加时间等): ❯ git show v1.0 commit 26eb547f1dc13719c5f8785e5161d7e988578862 (HEAD -…
显示远程仓库 显示已经添加的远程仓库: ❯ git remote origin 查看远程仓库的 URL: ❯ git remote -v origin git@github.com:icexmoon/learn-git.git (fetch) origin git@github.com:icexmoon/learn-git.git (push) 添加远程仓库 虽然不常见,但可以为 Git 管理的项目添加多个远程仓库,比如: git remote add gitee git@gitee.com:icexmoon/…
魔芋红茶
加一点PHP,加一点Go,加一点Python......
COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由
提供CDN加速/云存储服务
Theme Kratos Made By Seaton Jiang