一.git仓库

1、新建github项目

2、连接本地与远程仓库

2.1 第一种方法,复制到本地,本地修改之后,重新上传

// 1.复制项目
git clone https://github.com/mashize-m/personalstore.git  
// 2.将本地创建的项目复制到clone下来的项目中
// 3.查看文档状态
git status
// 4.将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录
git add .
// 5.将缓存区内容添加到本地仓库
git commit -m '注释'
// 6.将本地仓库提交到远程仓库
git push

2.2 第二种方法,从命令行推送现有存储库(常用方式

// 需要先git init 初始化
git init

// github创建空白的项目时,也会有提示
// ..或从命令行推送现有存储库
git remote add origin https://github.com/mashize-m/vue3-ts-cms.git
git branch -M main // gitee里没有这条命令
git push -u origin main // 第一次推送现有存储库,先走 git addgit commit 

3、克隆项目到本地

git clone git@192.168.1.132:dingwz/datamanager.git

4、代码拉取和提交

4.1 拉取代码

git pull origin master

4.2 提交代码

git push origin master

4.3 提交代码时冲突解决

提示:
error: Your local changes to the following files would be overwritten by merge:

Please commit your changes or stash them before you merge.

# 保留你文件的修改,将所有未提交的修改(工作区和暂存区)保存至堆栈中
git stash
# 将当前stash中的内容弹出,并应用到当前分支对应的工作目录上
git stash pop

4.4 版本回退

git通过HEAD指针记录当前版本,所以可以通过HEAD来改变git版本指向达到回退的目的。
主程序:HEAD -> master

// 回退上一个版本
git reset --hard HEAD^
// 回退上上一个版本
git reset --hard HEAD^^
// 回退指定版本(commit id)
git reset --hard 0d528212...

5、常见问题处理

解决warning: LF will be replaced by CRLF in方法

注意:不是false就是true

git config --global core.autocrlf false
git config --global core.autocrlf true

6、分支

6.1 为什么需要使用分支呢?

  • 开发某个项目,在默认分支master上进行开发

  • 实现项目的功能需求,不断提交。

  • 并且在一个大的版本完成时,发布版本,打上一个tag v1.0.0;

  • 继续开发后续的新功能,正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补, 你将按照如下方式来处理

  • 切换到tag v1.0.0的版本,并且创建一个分支hotfix;

  • 想要新建一个分支并同时切换到那个分支上,你可以运行一个带有 -b 参数的 git checkout 命令:git checkout –b hotfix
    在这里插入图片描述

  • 分支上开发、修复bug

    • 我们可以在创建的hotfix分支上继续开发工作或者修复bug;
    • 当完成要做的工作后,重新打上一个新的tag v1.0.1;
  • 切换回master分支,但是这个时候master分支也需要修复刚刚的bug

    • 所以我们需要将master分支和hotfix分支进行合并
    • 切换分支:git checkout master
    • 合并分支:git merge hotfix
      在这里插入图片描述
  • 合并分之后,如果有代码冲突,处理代码冲突部分。之后重新提交代码
    在这里插入图片描述

  • 提交远程分支

git push origin develop # 这里的develop要跟你本地创建的分支名一致

6.2 分支常用命令

# 1. 列出所有本地分支和远程分支
git branch -a

# 2. 如果git branch -a 没有找到 git的上的远程分支
git fetch

# 3. 在本地新建dev分支,并将本地的dev分支和远程的的dev分支建立关联(常用这个)
git checkout -b dev origin/dev

# 4. 切换到指定分支/标签
git checkout [branch-name/tag]

# 5. 选择一个commit(可以是其他分支的commit),合并进【当前分支】
# 冲突解决参考:https://blog.csdn.net/weixin_44799217/article/details/128279250
git cherry-pick [commit哈希值]

# 6. 合并指定分支到当前分支
git merge <branch> # 例如:当前所在A分支,将B分支的内容合并到A分支中,git merge <B>

# 7.将本次内容推送到 指定的某一远程分支(可以是之前没有关联关系的分支),并建立关系
# --set-upstream 好像就是 -u
git push --set-upstream origin HEAD:[branch-name] # git push --set-upstream origin HEAD:zrzy/gm/dev1.3

6.3 分支【非】常用命令

# 1. 列出所有本地分支
git branch

# 2. 列出所有远程分支
git branch -r

# 3. 新建一个分支,但依然停留在当前分支
git branch [branch-name]

# 4. 新建一个分支,并切换到该分支
git checkout -b [branch]

# 4. 将本地分支 dev 推送到远程仓库并创建一个同名的分支(不需要先git add/commit)
git push origin dev:dev

# 5. 查看本地分支和远程分支的关联情况
git branch -vv

# 6. 新建一个分支,与指定的远程分支建立追踪关系
git branch --track [branch] [remote-branch]
git branch --track dev origin/dev

# 7. 将创建的分支推送到git上,并建立追踪关系
git push --set-upstream origin [branch-name]

# 8. 创建新分支
git checkout <new-branch>

# 9. 切换到上一个分支
git checkout -

# 10. 建立追踪关系,在现有分支与指定的远程分支之间
git branch --set-upstream-to=origin/<branch> <branch>

# 13. 删除分支
git branch -d [branch-name]

# 14. 删除远程分支
git push origin --delete [branch-name]
// git branch -dr [remote/branch]

# 15. 基于最新提交(commit)创建标签
git tag <tagname>  # 基于最新提交(commit)创建标签

7、git工作流(git flow)

基本工作流
在这里插入图片描述
常见的git flow
在这里插入图片描述

8. 新建仓库简单方式

8.1 新建github/gitlab仓库

8.2 复制SSH连接

8.3 项目中输入命令

git remote add origin <ssh连接>
git remote -v 查看
git push --set-upstream origin master
git push

注意:
如果遇到 fatal: not a git repository (or any of the parent directories): .git 报错,可以先 git init 一下就可以了

二、npm

1、修改npm仓库地址(ShineGisClient23d

npm config set registry http://192.168.11.146:8073/repository/npm-all/

2、查看源,可以看到设置过的所有的源

npm config get registry

3、设置回原来的淘宝源

npm config set registry https://registry.npm.taobao.org // 2024-01-24 过期
npm config set registry https://registry.npmmirror.com

3、设置回npm镜像源

npm config set registry https://registry.npmjs.org/

4、npm i xx --save 和npm i xx --save-dev 区别

-S(s)--save的缩写 也就是 添加在dependencies生产环境
-D(d)--save-dev的缩写 也就是添加在devDependencies开发环境
-G(g)是添加全局,比如我们要全局使用yarn工具,就可以全局安装,可以理解为添加了一个环境变量

dependencies文件夹
生产环境依赖。生产环境一般是位于服务器上的,一般只会放index.html 以及css和js这种静态资源。生产环境依赖则说明必须要使用该环境,比如axios等

devDependencies
开发环境依赖。也就是说只需要我们在写代码时需要使用的,比如babel,webpack等,这些在生产环境上是不需要的

如果只是npm i xxx,那么默认添加到生产依赖,也就是类似 npm i xxx --save

三、github查询技巧

在这里插入图片描述

1、直接查询

直接输入要搜索的内容,例如:vue

2、条件查询:in:

vue in:name # 项目名称中有vue
vue in:readme # readme文件中提及 "vue" 的仓库
vue in:description # 仓库名称或说明中有vue
vue in:topics # “vue”作为主题的存储库
language:JavaScript # 匹配语言是JavaScript
stars:>3000 # stars数
forks:>100 # forks数

# 复合查询
editor in:name stars:>3000 language:JavaScript

参考:https://docs.github.com/cn/search-github/searching-on-github/searching-for-repositories

3、高级查询

https://github.com/search/advanced

四、nvm多版本管理node

1.查看版本

nvm -v //查看nvm版本
nvm --version //显示 nvm 版本

2.显示版本列表

nvm list // 显示已安装的版本(同 nvm list installed
nvm list installed // 显示已安装的版本
nvm list available // 显示所有可以下载的版本

3.安装指定版本node.js

nvm install 14.5.0 // 安装 14.5.0 版本的 node.js
nvm install latest // 安装最新版本

4.使用指定版本node

nvm use 14.5.0 // 切换到 14.5.0 版本的 node.js
--lts // 自动切换到长期支持版本
--lts=<LTS name> // 自动切换到指定名称的node长期支持版本

5.卸载指定版本 node

nvm uninstall 14.5.0 // 卸载到 14.5.0 版本的 node.js
nvm uninstall --lts // 卸载长期支持版本的node
nvm uninstall --lts=<LTS name> // 卸载一个指定名称的长期支持版本的node

6.显示命令行帮助信息

nvm --help //显示命令行帮助信息

7.查看nvm安装路径

nvm root

8.配置nvm的node和npm镜像:

运行nvm root 显示出nvm的安装目录
打开nvm文件夹下的settings.txt文件,在最后添加以下代码:

node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐