设置username和email

git config --global user.name "wenbo"

git config --global user.email "1050794513@qq.com"

通过终端命令创建ssh key

cd ~/.ssh 查看是否有ssh

ssh-keygen -t rsa -C "邮箱地址"

执行成功后,会在主目录.ssh路径下生成两个文件:id_rsa私钥文件;id_rsa.pub公钥文件;

cat id_rsa.pub 查看id_rsa.pub文件的内容,配置到git上面的ssh-key上面;

git基本操作

$ git clone克隆

$ git pull拉取

$ git add 添加到本地仓库

$ git commit -m '提交说明'提交到本地仓

$ git checkout -b <branch name>创建分之

$ git push --set-upstream origin <branch name>首次push代码,设置当前本地分支的默认远程分支。

$ git push 提交到远程仓库

$ git branch -a 查看所有的远程分支和本地分支

$ git diff master 如果当前分支是dev,可以查看dev分支和master分支的代码差异

多人合作代码提交

目的:避免提交记录中出现”Merge branch of…”,保持代码提交记录整洁。

先commit本地的代码,然后按照下面的步骤执行:

$ git stash 缓存本地代码

$ git pull --rebase 拉取代码,如果代码冲突,解决冲突

$ git stash pop 把缓存代码取出来,如果代码冲突,解决冲突

最后commit,push代码

从远程仓库获取最新代码合并到本地分支

1. git pull方式

$ git pull origin master 拉取远端origin/master分支并合并到当前分支

$ git pull origin dev 拉取远端origin/dev分支并合并到当前分支

$ git fetch origin dev把远程分支拉到本地

2. git fetch + merge

2.1.额外建立本地分支

$ git fetch origin master:dev 在本地建立dev分支,并下载远端的origin/master分支到dev分支中

2.2.不额外建立本地分支

$ git fetch origin master 获取远端的origin/master分支

$ git log -p master origin/master 查看本地master与远端origin/master的版本差异

$ git merge origin/master 合并远端分支origin/master到当前分支

git切换分支

$ git branch dev 创建分支

$ git checkout dev 切换分支

$ git branch 查看本地分支

git修改分支名称

$ git branch -m oldName newName 分支重命名

$ git push --delete origin oldName 删除远程分支

$ git push origin newName 上传新命名的本地分支

版本回退

$ git reflog 查看提交日志

$ git reset --hard a7e1d279 回退到指定的版本,a7e1d279是commit id

$ git push -f origin master 强制推送到远程的分支(如果你的错误提交已经推送到自己的远程分支了)

版本反做

适用场景: 如果我们想撤销之前的某一版本,但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。

$ git reflog 查看提交日志

$ git revert -n a7e1d279 需要反做的版本,a7e1d279是commit id

注意: 这里可能会出现冲突,那么需要手动修改冲突的文件。而且要git add 文件名。

$ git commit -m "revert add 文件名" 重新提交冲突的文件

$ git push 把最新的提交推送到远程

注意: git reset —hard 撤销到某次提交 git revert -n 撤销某次提交

git rebase feat/0.1.0

git提交规范

type

  • feat: 新增功能。
  • fix: 修复 bug。
  • docs: 文档相关的改动。
  • style: 对代码的格式化改动,代码逻辑并未产生任何变化。
  • test: 新增或修改测试用例。
  • refactor: 重构代码或其他优化举措。
  • chore: 项目工程方面的改动,代码逻辑并未产生任何变化。

npm提交规范:

patch:小变动,比如修复bug等,版本号变动 v1.0.0->v1.0.1

minor:增加新功能,不影响现有功能,版本号变动 v1.0.0->v1.1.0

major:破坏模块对向后的兼容性,版本号变动 v1.0.0->v2.0.0