git

基本操作

    创建git用户
      useradd git
      passwd git

    查看用户名字/邮箱
      git config --global(可有可无) user.name
      git config user.email
    修改用户名/邮箱
      git config --global user.name "Your_username"
      git config --global user.email "Your_email"
    查看本地 提交地址
      git remote -v

    创建git仓库
      git init 初始化项目  他会创建一个.git文件 里面放了一堆配置
      git init --bare 不包含工作区域 只是一个仓库 让别人提交代码

    查看状态
    git status

    添加 提交地址
    git remote add origin 地址

    删除本地 提交地址
    git branch -D master

    删除远程分支
    git push origin --delete '分支名字'

    撤销 修改的文件 *为所有
    git checkout -- readme.txt

    拉取分支
	  get fetch origin 分支:qimingzi

    合并分支
    git merge dev //他会创建2个在合并
    git rebase dev  //他在原来基础上合并


    返回到指定的分支
      git log
      git reset --hard d22f3b7de65383a3f277237a79af27b854e94f67

    提交 加-f是强制
      git push -u origin master -f

    克隆某个分支
			git clone -b b1 https://github.com/...
			git命令:全局设置用户名邮箱配置

    查看git用户名
      git config user.name

    查看邮箱配置
      git config user.email

    全局配置用户名
      git config --global user.name "nameVal"

    全局配置邮箱
      git config --global user.email "eamil@qq.com"

    merge :refusing to merge unrelated histories
    加上--allow-unrelated-histories


三个区域

  • 工作区 是红色(status)
    • git add (到暂存区)
  • 暂存区 是绿色
    • git commit (到版本库)
  • 版本库
    • git log(查看版本号)

git diff

  • 比较工作区和暂存区(就是 git add 之后的比较)
    • git diff --cached
  • 比较工作区和版本库
    • git diff master(分支)

撤销(git add 内容)

  • git reset Head .(将绿色状态变成红色)

从暂存区把内容撤回来

  • git checkout index.html/.(绿色部分覆盖红色)

git rm

  • 删除工作区(或者暂存区)的内容 先要在本地把文件删除 在执行 git rm
  • git rm index.html

删除缓存区的内容 保存工作区的内容

  • git rm --cached index.html

从工作区域直接到版本区域

  • git commit -a -m 'xxx'

恢复版本

  • git log 查看历史版本
  • git reset --hard 历史版本号
  • git reflog 历史版本号
  • history 查看输入的历史命令
  • git reset --hard^ 往上回滚一级

分支

  • 创建分支 git branch dev
  • 查看分支 git branch
  • 切换分支 git checkout dev
  • 创建切换分支 git checkout -b dev
  • 删除分支 git branch -d dev
  • 查看合并图谱 git log --oneline --graph/git log --oneline --graph --all --decorate
  • git cherry-pick 'xx' 分支上合并别的分支版本号

存储工作区

  • 本地分支没有保存 要调到另一个分支 可以将当前工作区暂停
  • git stash 存储
  • git stash list 查看存储工作区
  • git stash pop 释放本地存储(上一个,会删除)
  • git stash apply 应用存储的(不删除)
  • git stash drop 删除上一个

vscode

  • code spell checker
    • 单词检查
  • code runner
    • 执行运行脚本
  • eslint
module.exports = {
  parser: "babel-eslint", // 把源码转成语法树的工具
  extends: "airbnb", // 继承airbnb规则
  env: {
    //指定运行环境
    browser: true,
    node: true
  },
  rules: {
    "linebreak-style": "off",
    indent: ["error", 4], //缩进风格
    quotes: ["error", "double"], //引号类型
    semi: ["error", "always"], //关闭语句强制分号结尾
    "no-console": "error", //禁止使用console
    "arrow-parens": 0 //箭头函数用小括号括起来
  }
};
  // 重新设定tabsize
    "editor.tabSize": 2,
    // #让vue中的js按编辑器自带的ts格式进行格式化
    "vetur.format.defaultFormatter.js": "vscode-typescript",
    // // #每次保存的时候自动格式化 他eslint保存 还有点冲突(格式化代码的时候 会把最后一行空格删除,eslint 需要保存这一行)
    "editor.formatOnSave": true,
    // #每次保存的时候将代码按eslint格式进行修复
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    },

修改 commit log

  • 打开历史 最近3条记录
    • git rebase -i HEAD~3
    • pick改为edit 然后保存。
  • 接着就是修改日志内容了
    • 他会打开之前edit 的log
  • 完成编辑日志后,记得执行 git commit --amend
    • git rebase --continue
  • Rebase目的是打开提交的历史记录,让您选择要修改的内容。 Git会让你在一个新的分支修改内容。 git rebase --continue 则是让你重新回到之前的分支。

合并 log

  • git rebase -i HEAD~3
  • 将pick 修改成 squash(这里注意 如果修改最近的三条,最近的2条修改成squash, 最远的一条不能动)
  • 操作错了 可以取消 git rebase --abort
  • git rebase --continue