GIT总结

Git命令速记

这里写图片描述

生成SSH Key

ssh-keygen -t rsa -C "youremail@example.com"
  • 1
  • 在用户主目录里找到.ssh目录
  • 将id_rsa.pub中的数据放到服务器的.ssh目录下

克隆远程仓库

git clone https/git
  • 1

查看所有的版本提交记录

git log (--pretty=oneline)
  • 1
$ git log
commit affd8ca1bc90c0865fbdc425726513b1dd09a523
Author: chaimm <350142639@qq.com>
Date:   Mon May 8 15:28:08 2017 +0800

    自动化查询页增加:分页功能

commit b8f06aab3a71bd4a4b66c5310b52be36748b56af
Merge: 1766243 3648640
Author: ZzzSimon <2234587454@qq.com>
Date:   Mon May 8 15:20:17 2017 +0800

    +分页
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

查看版本回退/提交信息

git reflog
  • 1

本地版本仓库的版本回退

git reset --hard 3628164
  • 1

工作区 与 暂存区 与 本地版本库

  • 对代码的修改是在工作区进行的;
  • git add后代码会进入暂存区
  • git commit仅会提交暂存区的代码,不会提交工作区的代码!

撤销工作区修改

git checkout -- 指定文件
  • 1
  • 若暂存区是干净的,则工作区撤销后,和之前提交的版本保持一致;
  • 若暂存区已经有代码了,则工作区撤销后,和暂存区的代码保持一致。

注意:git checkout 后必须加–,否则就成切换分支命令了!

撤销暂存区的修改,将暂存区的修改放回至工作区

git reset HEAD 指定文件
  • 1

创建分支

git branch 新分支名
  • 1

切换分支

git checkout 指定分支名
  • 1

查看所有分支

git branch

* dev
  master
  • 1
  • 2
  • 3
  • 4

合并分支

  1. 切换到master分支上:

    git checkout master
    • 1
  2. 将指定分支合并至master分支

    git merge dev
    • 1

删除指定分支

git branch -d 分支名
  • 1

分支管理策略

  • master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
  • 干活都在dev分支上,每个人都有自己的dev分支

Bug分支

当被分配到bug时,需要创建一个新分支,在上面进行修改。但此时可能还在自己的dev分支上开发新功能,此时需要将当前工作区存起来,在bug修复完后再还原。

  1. 存储当前工作区

    git stash
    • 1
  2. 切回master分支,基于master分支创建新的bug分支

    git checkout master
    git checkout -b issue-101
    • 1
    • 2
  3. 在新分支上修改bug

  4. 切回master分支,合并bug分支

    git checkout master
    git merge issue-101
    • 1
    • 2
  5. 删除bug分支

    git branch -d issue-101
    • 1
  6. 查看所有保存的工作区

    git stash list
    • 1
  7. 还原工作区

    1. 使用apply还原指定stash,再使用drop删除

      git stash apply xxx
      git stash drop xxx
      • 1
      • 2
    2. 使用pop还原并删除第一个stash

      git stash pop
      • 1

这里写图片描述

原文地址:https://www.cnblogs.com/yumoye/p/10424407.html