A Roadmap
  • Introduction
  • Roadmap
  • Basics
    • Basic Terminal Usage
      • Shell
        • 基本
        • 变量
        • 传递参数
        • 运算符
        • 命令
        • 流程控制
        • 函数
        • 输入输出重定向
    • Character Encoding
      • 字符编码
    • Data Structures & algorithms
    • Network
      • TCP/IP
      • Http/Https
        • 浏览器缓存
        • Status Code
        • GET & POST
        • HTTPS 握手过程
        • HostOnly Cookie
      • CDN
        • CDN 工作原理
    • Version Control
      • git message format
      • git commands
    • Principles
    • Design Patterns
    • Others
      • JSON
      • 正则表达式
  • Front End
    • Web Standard
      • Html
      • CSS
        • font-face 小记
        • Grid 布局简易笔记
      • Javascript
        • Ajax
          • Fetch
          • XMLHttpRequest
        • DOM
          • Selection
          • 常用 DOM 操作
          • script 标签的几个属性
        • Ecmascript
          • this 关键字
          • Event Loop
          • 隐式转换
          • Date
        • Event
          • 模拟事件
          • Others
    • Development
      • Package Management
        • npm
      • Modulization
        • 模块化机制
        • webpack 打包解析
      • Architecture
      • Build Tools
        • 如何编写一个自定义的 eslint 规则?
      • Debug
        • 移动端调试 web
      • Pre/Post Processors
      • Test
        • Jest Snapshot 使用指南
      • Type Checkers
        • TS 中 enum 的编译结果
    • Libs & frameworks
    • Platforms
      • Browser
        • Basics
          • 从输入 URL 到页面加载完成都发生了什么事情?
          • HTML 加载的过程示意图
          • 为什么读取某些属性,也会导致回流?
          • Chrome 进程模型
        • PWA
        • Compatible
        • Cross Origin
        • Performance
          • 性能检测:performance 对象
          • 性能指标
        • Others
          • 移动端 web 开发笔记
      • Server
      • Desktop Applications
      • Mobile Applications
        • Flutter 在移动端和 Web 端的技术实现
  • Back End
    • outline
    • Languages
      • Node
        • Event Loop
        • NodeJS 中的进程与线程
        • NodeJS 中的 esModule 与 commonJS
  • Clients
    • outline
    • 安装 IPA 包
  • DevOps
    • Languages
    • OS Concepts
    • Servers & terminal
  • UI & UX
    • outline
  • Others
    • Posts
      • 使用 node 爬取数据并导出到 excel
      • antd 1.x datepicker 时区问题
      • babel-transform-runtime 踩坑记录
      • lodash 按需加载注意事项
      • 记一次项目迁移的踩坑记录
      • 时区与JS中的Date对象
      • 记一次 vue + ts 开发踩坑
    • Tools
      • 个人常用的工具分享
      • tmux 简要笔记
Powered by GitBook
On this page
  • git commands
  • 初始化
  • 提交
  • 暂存
  • commit 操作
  • 回退
  • 分支
  • 创建仓库
  • 添加文件
  • commit文件
  • 显示仓库文件状态
  • 显示修改的内容
  • 版本回退
  • rebase文件
  • 日志记录
  • 命令记录
  • 丢弃修改
  • 删除文件
  • 远程仓库
  • 添加远程库
  • 推送至远程库
  • 克隆远程仓库
  • 分支管理
  • 查看分支
  • 创建分支
  • 其他
  • 存储工作区
  • 参看工作区存储情况re
  • 恢复工作区
  • 删除工作区

Was this helpful?

  1. Basics
  2. Version Control

git commands

git commands

初始化

  • git init

  • git clone

    添加

  • git add

    • -u

    • -A

    • -N

提交

  • git commit

    • -m

    • --amend

    • --no-edit

  • git push

    • -u

暂存

  • git stash

    • -K

    • pop

    • apply

    • drop

    • show -p

    • clear

commit 操作

查看

  • git show

    • --stat

  • git log

    • --pretty=oneline

    • [<base branch>] ^<branch>

  • git reflog

rebase

  • git rebase

    • -i

    • --continue

    • --abort

cherry-pick

  • git cherry-pick

    • --continue

    • --abort

回退

  • git reset

    • HEAD

    • --soft

    • --hard

  • git revert

分支

  • git branch

    • -a

    • <branch>

    • --set-upstream origin/<branch>

    • --set-upstream-to=origin/<branch>

  • git pull

    • -r

  • git merge

    • --no-ff

  • git checkout

    • -b <branch> [<remote-branch>]

    • -f

    • -- <file name>

    • <branch|commit> -- <file name>

创建仓库

git init

添加文件

git add 文件名(可用空格隔开) git add -u 添加所有workspace的文件 git add -A 添加所有文件

commit文件

git commit -m "描述"

  • 禁用fast-faword ,使用 git merge --no-ff -m "description" branch-name

    • fast-faword : 分支提交了修改,master没有提交,master合并分支,直接合并分支的修改,则fast-faward

显示仓库文件状态

git status

显示修改的内容

git diff 文件名

版本回退

  • git reset --hard HEAD^

  • git reset --hard HEAD~100

  • git reset --hard commit id

  • head代表当前版本,head^ 代表上个版本,head^^ 代表上两个版本,也可以用~加上数字表示之前的版本

  • commit id代表每个版本的id号

  • HEAD 是当前提交记录的符号名称 -- 其实就是你正在其基础进行工作的提交记录

  • ~指返回几代

  • ^指哪一个父提交

rebase文件

git rebase <branch> 移动至指定提交上游

  • rebase 就是取出当前head的提交记录,"复制"它们,然后把在别的某个地方放下来

  • rebase --continue 执行add添加修改后的冲突文件,然后置于顶部

  • rebase --skip

      Restart the rebasing process by skipping the current patch.
  • rebase --abort

日志记录

git log

  • --prety==oneline 命令代表简要显示,即版本号和描述

  • --pretty=format:'%h %Cgreen [%cn]: %C(cyan) %s' 按照指定格式渲染

命令记录

git reflog

丢弃修改

git checkout -- <file>

  • --命令表示丢弃修改,不添加的话,checkout表示切换分支

  • 让这个文件回到最近一次 git commit 或 git add 时的状态

    • 如果修改后没有添加到暂存区,则回退到版本库

    • 如果放到暂存区后,又做了修改,则回退到暂存区内的状态

  • git reset HEAD <file> 把暂存区的修改撤销掉(unstage),重新放回工作区,即取消本次add操作

删除文件

git rm 文件删除后可用版本回退,从版本库中获取到最新版本的文件

远程仓库

添加远程库

git remote add origin git@server-name:path/repo-name.git

推送至远程库

git push -u origin master

  • 使用-u命令使本地master和远程master分支关联

  • git push origin master

克隆远程仓库

git clone

分支管理

查看分支

git branch

创建分支

git branch <name> -f 直接让分支指向另一个提交 eg : git branch -f master HEAD~3 强制指向某一个提交 还可以指定在某个分支的某个提交上新建

切换分支 git checkout <name> 切换到指定的修改版本,同时把head指向切换的版本

创建并切换 git checkout -b <name>

合并至当前分支 git merge <name>

删除分支 git branch -d <name>

查看分支合并情况 git log --graph

其他

存储工作区

git stash

参看工作区存储情况re

git stash list

恢复工作区

git stach apply 恢复而不删除存储 git stash pop 恢复并且删除存储

删除工作区

git stash clear git stash drop id

Previousgit message formatNextPrinciples

Last updated 5 years ago

Was this helpful?