主题
nodejs安装
nodejs安装
从nodejs官方下载v14版本,选择正确的版本。
https://nodejs.org/dist/latest-v14.x/
nvm
推荐使用nvm进行node版本控制,需要一定的能力,如果能力不够,建议直接安装nodejs。
mac
Mac安装nvm简易教程
Oct 13, 2021 • cbtpro
nvm安装需要使用代理
nvm安装过程需要使用到代理,代理请自行提供。
export http_proxy=127.0.0.1:端口号 export https_proxy=127.0.0.1:端口号 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash # or wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
安装完成后修改
~/.bash_profile
,增加下面的内容。export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
安装完成后就使用
source ~/.bash_profile
,或者重新打开控制台就能使用了。nvm install 14 nvm list # 临时更改当前node版本 nvm use node v14.18.0 # 永久更改当前node版本 nvm alias default v14.18.0
更多操作
$ nvm use 16 Now using node v16.9.1 (npm v7.21.1) $ node -v v16.9.1 $ nvm use 14 Now using node v14.18.0 (npm v6.14.15) $ node -v v14.18.0 $ nvm install 12 Now using node v12.22.6 (npm v6.14.5) $ node -v v12.22.6 # 参考`https://github.com/nvm-sh/nvm`
git环境配置
安装git
使用浏览器打开git官网下载git https://git-scm.com/
git 官方文档 https://git-scm.com/book/zh/v2
下载完成后按指引一步一步安装,安装完成后,电脑上会出现
Git Bash
、Git GUI
、Git Cmd
菜单,即安装完成,打开cmd或者powershell,使用git --version
名称查看版本信息。# 设置自动转换crlf为false git config --global core.autocrlf false # 设置提交作者 git config user.name 你的中文名字 # 设置提交邮箱 git config user.email 你的公司邮箱
获取仓库权限
配置仓库SSH公钥
参考文档 https://help.coding.net/docs/repo/ssh/config.html
本地新建证书
window系统
打开cmd或者powershell 切换到.ssh目录 cd ~/.ssh 生成密钥公钥,将your.email@example.com替换成你的邮箱或者任何字符串都可以,主要是为了区分公钥
~\.ssh> ssh-keygen -m PEM -t ed25519 -C "your.email@example.com" Generating public/private ed25519 key pair. Enter file in which to save the key (C:\Users\cbtpro/.ssh/id_ed25519): github.com Enter passphrase (empty for no passphrase): 密钥密码 Enter same passphrase again: 重复密钥密码 Your identification has been saved in github.com Your public key has been saved in github.com.pub ……
这时候当前目录下会生成两个文件
github.com
和github.com.pub
,github.com
保持在目录下不动,将github.com.pub
里的内容复制到剪贴板。# 复制文件内容到粘贴板 type github.com.pub | clip
打开 github公钥配置界面https://github.com/settings/keys,点击新增公钥按钮,公钥名称随便起,将复制的内容粘贴到公钥内容中,如果有设置公钥有效期的选项,建议设置成3-12个月后过期,点击确认。
mac/linux系统
打开任意终端 切换到.ssh目录 cd ~/.ssh 生成密钥公钥,将your.email@example.com替换成你的邮箱或者任何字符串都可以,主要是为了区分公钥
~\.ssh> ssh-keygen -m PEM -t ed25519 -C "your.email@example.com" Generating public/private ed25519 key pair. Enter file in which to save the key (C:\Users\cbtpro/.ssh/id_ed25519): github.com Enter passphrase (empty for no passphrase): 密钥密码 Enter same passphrase again: 重复密钥密码 Your identification has been saved in github.com Your public key has been saved in github.com The key fingerprint is: SHA256:d1vIQHdMGPWh2jHhvj76pGkxRENnvJXTb0zTWBRYvE0 your.email@example.com The key's randomart image is: +--[ED25519 256]--+ | o.+XBBB| | . +=+=BE| | o .=o+B| | ++oo.=| | S o.+o.. | | . + o. | | +o | | .=. | | .+oo. | +----[SHA256]-----+
这时候当前目录下会生成两个文件
github.com
和github.com.pub
,github.com
保持在目录下不动,github.com.pub
里的内容复制.# 复制文件内容到粘贴板 cat github.com.pub | clip
将公钥配置到github中即可在本地电脑使用密钥进行版本控制,不用输入用户名和密码了.
如果本机有多个不同的证书,同时需要对github、gitee、coding.net、gitlab,可以在~/.ssh目录下新建一个config文本文件,内容如下,将IdentityFile配置你的用户名替换成你自己的用户名,mac、linux需要对IdentityFile路径进行相应的修改。
# gitee Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile C:\Users\你的用户名\.ssh\gitee_id_rsa # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile C:\Users\你的用户名\.ssh\github_id_rsa
开发人员常用git操作
日常开发需要关注的部分
dev-->Feature:git checkout -b some-feature develop Feature-->local仓库: local仓库-->Feature:git add ./git add some-file.js/git commit Feature-->dev:git checkout dev/git merge some-feature
新增和修改文件后,需要提交到本地some-feature的仓库
#慎用git add .,会把所有的有更改的文件提交到staged中 git add src/App.vue git commit # 按规范填写注释
保持本地开发代码是最新状态的
git pull origin dev
合并some-feature到开发分支
git checkout dev #将本地仓库切换到dev git merge some-feature #合并some-feature到dev git push #提交到dev的远程仓库
最后回到some-feature分支继续开发
git branch -d some-feature
当执行merge操作的时候,git已经从some-feature拉了一条线到dev上。
发布release版本
release版本是从dev分支上checkout代码,基本上不会每天操作,有大的发布计划的时候才需要去执行
git checkout -b release-0.1 develop
此时不能有新功能的提交到dev中,这个操作对应项目开发中的发布阶段,所以不在这个发布阶段的功能,应该都在下一个迭代中提交。
改善git操作
修改个人信息
git config --global user.name "chenbitao" git config --global user.email "chenbitao@sz-rst.com"
合并代码
网页创建merge request
将本地的代码push后,就可以在仓库页面上点击
Create merge request
按钮,仔细阅读页面的内容。New Merge Request From
dev
to master Change branches如果合并方向错了,点击Change branchs就可以重新设定合并方向。
- 如果需要有人帮你进行code review,请选择Assignee。
- 如果这次合并是一个重大的版本,可以选择一个里程碑
- 如果这次合并跟issue相关,可以选择label来区分是新特性还是bug修复。
- 默认情况下请不要勾选提交合并后删除源分支,如果有删除需求,请手动删除。
Commit/Changes可以查看修改和提交记录。
点击submit merge request进行下一步:再确认。这一步如果有配置代码检测工具,请稍等片刻。Merge按钮变绿后,就可以点击Merge完成合并了。
如果在没有其他提交的情况下,可以点击Revert进行还原。
使用Cherry-pick可以重提交中重新挑拣部分修改创建一个新的request。
当然也可以在这个页面进行互动,点赞、踩评论。
分支合并到另一个分支
从dev合并到master
git checkout master git merge dev
从dev合并文件到release
git checkout release git checkout --patch dev package.json
从dev分支合并几个文件到release分支
git checkout release git checkout --patch dev package.json src\Index.vue
更改本地commit注释
已经commit但是还未push到服务器的,仍然是可以添加新的文件和修改注释的。
git commit --amend
回退到某个版本号[^注意]
git reset --hard 【merge前的commitid】
将已经commit但未push的代码重新放入暂存区
git reset commit前一个commitid
删除本地的远端已经删除的分支
# 显示远程分支和本地分支 git remote show origin # 删除远端已经删除的分支 git remote prune origin
删除本地分支
git branch -d 分支名(remotes/origin/分支名)
强制删本地
git branch -D 分支名
删除远程分支
git push origin --delete 分支名(remotes/origin/分支名)
远端分支被重命名了
如果你有本地clone远端被重命名的分支,可以用下面的命令来更新本地clone
git branch -m master main git fetch origin git branch -u origin/main main git remote set-head origin -a
工作中看到的一些程序员的问题
在工作中看到的问题
Mac安装nvm简易教程
nvm安装需要使用代理
nvm安装过程需要使用到代理
Mac使用ffmpeg将视频转换成webp
webp是谷歌发布的开源图片格式