cbtpro
程序员 前端开发

主题

  • 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 BashGit GUIGit 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.comgithub.com.pubgithub.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.comgithub.com.pubgithub.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就可以重新设定合并方向。

    1. 如果需要有人帮你进行code review,请选择Assignee。
    2. 如果这次合并是一个重大的版本,可以选择一个里程碑
    3. 如果这次合并跟issue相关,可以选择label来区分是新特性还是bug修复。
    4. 默认情况下请不要勾选提交合并后删除源分支,如果有删除需求,请手动删除。

    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是谷歌发布的开源图片格式

Subscribe