Appearance
Git
收录了一些git相关的知识。
1. mac如何设置终端中默认的node版本
在Mac上设置终端中默认的Node版本可以使用以下几种方法:
使用nvm(Node Version Manager)nvm
安装nvm:如果尚未安装nvm,可以通过以下命令在终端中进行安装:
bashcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
安装完成后,需要重新启动终端或执行以下命令使nvm生效:
bashsource ~/.bashrc source ~/.bash_profile source ~/.zshrc
根据你使用的 shell,选择其中一个或多个命令执行。
安装不同版本的Node:使用nvm安装你需要的Node版本,例如:
bashnvm install 18.17.1 nvm install 20.6.1
设置默认版本:使用以下命令设置默认的Node版本,例如将18.17.1设置为默认版本:
bashnvm alias default 18.17.1
使用n(Node Version Management)n
- 安装n:可以通过以下命令安装n:bash
npm install -g n
- 安装不同版本的Node:使用n安装所需的Node版本,例如:bash
n 18.17.1 n 20.6.1
- 设置默认版本:安装完成后,使用以下命令设置默认版本,如将18.17.1设为默认:bash
n 18.17.1 n alias default 18.17.1
修改环境变量
- 查找Node安装路径:首先需要找到你想要设置为默认版本的Node的安装路径。假设你通过安装包安装了Node.js,默认路径可能是
/usr/local/bin/node
或/usr/local/Cellar/node/[version]/bin/node
等。 - 编辑环境变量配置文件:根据你使用的 shell,编辑相应的配置文件。
- 如果使用
bash
,编辑~/.bash_profile
或~/.bashrc
。 - 如果使用
zsh
,编辑~/.zshrc
。 在文件中添加或修改以下内容,将路径替换为你实际的Node安装路径:
bash这将把指定版本的Node路径添加到环境变量的最前面,使其优先被使用。export PATH="/usr/local/Cellar/node/18.17.1/bin:$PATH"
- 如果使用
- 使配置生效:编辑完成后,在终端中执行以下命令使配置生效:
- 对于
bash
:bashsource ~/.bash_profile source ~/.bashrc
- 对于
zsh
:bashsource ~/.zshrc
- 对于
TIP
在Mac上 不依赖nvm和n等第三方库
设置终端中默认的Node版本,可以通过 修改环境变量
来实现,以下是具体步骤:
查找Node安装路径
- 通常情况下,Node.js的默认安装路径可能是
/usr/local/bin/node
或/usr/local/Cellar/node/[version]/bin/node
等。你可以通过在终端中输入which node
命令来查找当前使用的Node可执行文件的路径,从而确定你想要设置为默认版本的Node的安装位置。
编辑环境变量配置文件
- 根据你使用的 shell,编辑相应的配置文件:
- 如果使用bash:编辑
~/.bash_profile
或~/.bashrc
文件。 - 如果使用zsh:编辑
~/.zshrc
文件。
- 如果使用bash:编辑
- 在文件中添加或修改以下内容,将路径替换为你实际的Node安装路径:
bash
export PATH="/usr/local/Cellar/node/[具体版本号]/bin:$PATH"
例如,如果你的Node安装在/usr/local/Cellar/node/18.17.1/bin
,则应添加如下内容:
bash
export PATH="/usr/local/Cellar/node/18.17.1/bin:$PATH"
这会将指定版本的Node路径添加到环境变量的最前面,使其在执行命令时优先被使用。
使配置生效
- 编辑完成后,在终端中执行以下命令使配置生效:
- 对于bash:
bash
source ~/.bash_profile
source ~/.bashrc
- **对于zsh**:
bash
source ~/.zshrc
通过以上步骤,即可将指定的Node版本设置为终端中的默认版本。不过这种方法相对较为固定,如果需要切换Node版本,就需要再次修改环境变量配置文件。
使用nvm或n来管理Node版本是比较推荐的方法,因为它们可以方便地在不同版本之间切换,并且可以为不同的项目设置特定的Node版本,而修改环境变量的方法相对较为固定,不太灵活,但在某些特定情况下也可能适用。
2. git stash
在 Git 中,stash(存储)是一种临时保存工作目录和暂存区改动的方法,让你可以快速切换上下文,而无需提交未完成的代码。以下是关键点解析:
核心作用
- 临时保存改动:将当前未提交的改动(包括工作目录和暂存区的修改)保存到一个栈结构中,之后可以随时恢复。
- 解决场景:当你需要切换分支或处理紧急任务,但当前代码未完成、不适合提交时,用
stash
暂存改动。
常用命令
保存当前改动
bashgit stash
- 默认会保存工作目录和暂存区的修改(不包括未跟踪的文件)。
- 添加
-u
或--include-untracked
可以包含未跟踪的文件:bashgit stash -u
查看存储列表
bashgit stash list
- 显示所有存储项,格式如
stash@{0}: WIP on 分支名: 最近提交的哈希和消息
。
- 显示所有存储项,格式如
恢复存储的改动
- 恢复最近一次的存储(不删除存储记录):bash
git stash apply
- 恢复指定存储(如
stash@{1}
):bashgit stash apply stash@{1}
- 恢复并删除存储(
pop
):bashgit stash pop
- 恢复最近一次的存储(不删除存储记录):
删除存储
- 删除最近一次的存储:bash
git stash drop
- 删除所有存储:bash
git stash clear
- 删除最近一次的存储:
创建带描述的存储
bashgit stash save "描述信息"
- 便于后续识别存储内容。
适用场景
- 切换分支:当前分支有未提交代码,但需要切换到其他分支修复 Bug。
- 紧急任务:临时保存当前工作,处理更高优先级的任务。
- 实验性代码:不确定改动是否保留时,先暂存再决定。
注意事项
- 存储是临时的:长期未恢复的存储可能被遗忘,建议尽快处理。
- 冲突风险:恢复存储时若与当前代码冲突,需手动解决冲突。
- 不包含未跟踪文件:默认不保存新创建的文件(需加
-u
参数)。
示例流程
bash
# 1. 修改文件后暂存(未提交)
git add file.txt
git stash save "修改了file.txt"
# 2. 切换分支处理其他任务
git checkout another-branch
# 3. 返回原分支并恢复存储
git checkout original-branch
git stash pop
通过 stash
,你可以灵活管理未完成的代码,保持工作流整洁。