mac

  • zsh + on-my-zsh 配置教程指南

  • mac的shell工具使用

    • 查看当前环境shell

      1
      echo $shell
    • 查看系统自带那些shell

      1
      cat /etc/shells
    • 安装zsh

      1
      2
      yum install zsh # CentOS
      brew install zsh # mac安装
    • 将zsh设置为默认shell

      1
      2
      3
      4
      5
      6
      7
      chsh -s /bin/zsh # CentOS

      # Mac如下
      # 在 /etc/shells 文件中加入如下一行
      /usr/local/bin/zsh
      # 接着运行
      chsh -s /usr/local/bin/zsh
    • git 插件

      命令内容可以参考cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh。

      完整列表:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git

      常用的:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      gapa    git add --patch
      gc! git commit -v --amend
      gcl git clone --recursive
      gclean git reset --hard && git clean -dfx
      gcm git checkout master
      gcmsg git commit -m
      gco git checkout
      gd git diff
      gdca git diff --cached
      gp git push
      grbc git rebase --continue
      gst git status
      gup git pull --rebase
    • autojump

      然后你就可以通过j+目录名快速进行目录跳转。支持目录名的模糊匹配和自动补全。

      • j --stat:可以查看历史路径库

git

  • 新建本地项目,初始化git,push到一个远程地址。
    • git init : 把项目变为一个git 可管理的文件夹
    • git add . : 把文件添加到暂存区
    • git commit -m “first commit” : 文件推送到仓库
    • git remote add origin 你的远程仓库地址
    • git pull –rebase origin master : 获取远程仓库与本地同步合并
  • 新增、删除、修改分支
    • git branch -D 分支名称 : 删除本地分支
    • git push –delete 远程分支名称 : 删除远程分支
    • git branch -m 原分支名 新分支名 : 修改分支名称
    • git checkout -b 新分支 : 新建分支
      • 从master分支拉新分支
      • git checkout master
      • git pull origin master
      • git checkout -b hotfix-web
      • git push origin hotfix-web
      • git pull origin hotfix-web
  • 解决冲突
    • git stash 把工作区的文件暂时存储在git栈中。
    • git pull 拉取最新版本
    • git stash pop从最近的一个版本中拉取并恢复
  • 重置
    • 首先git log –graph –oneline 查看简约的提交版本Id
    • git reset –hard “版本Id”
    • 通过reflog挽救错误的重置
  • fork一个项目,协作
    • fork 一段代码,如何更新被fork的提交
      • 添加远程的地址,命名暂且可以取为upstream : git remote add upstream https://github.com/jigsaw-projects/jigsaw-payment.git
      • 拉取远程仓库代码: git fetch upstream
      • 远程代码库的合并到本地: git merge upstream/master
      • 推送到自己的远程代码库 : git push
  • gitpull 提示 refusing to merge unrelated histories
    • git pull –allow-unrelated-histories