1. 正在某个分支进行开发,突然有个紧急BUG需要切换到其他分支进行修复?

git add README.md # 将文件添加到暂存区

git stash save "v1.0.0 in development" # 贮藏暂存区的修改

# do something in other branch & checkout previous branch

git stash list # 显示贮藏列表
# output:"stash@{0}: On master: v1.0.0 in development" git stash pop stash@{} # 应用贮藏的修改

2. 提交了N个版本后发现代码有问题,想重置代码到某个版本?

git log --pretty=format:"%h %an %ar: %s" # 输出日志,格式:提交的简短哈希值 作者 提交时间 提交
# output:"
ac4b4fc YaungOu minutes ago: fix(bug-): fix something
868e045 YaungOu minutes ago: fix(bug-): fix something
aa13e9b YaungOu minutes ago: fix(bug-): fix something
4169d73 YaungOu minutes ago: fix(bug-): fix something
a142e95 YaungOu minutes ago: fix(bug-): fix something
c221ede YaungOu minutes ago: init
" git reset --hard 868e045 # 重置提交历史到该版本,并丢弃所有修改

  

  3. 重置代码到某个版本,不小把有用的提交也重置?

git reflog # 查看所有操作记录(包括reset操作)
# output:"
868e045 HEAD@{}: reset: moving to 868e045
ac4b4fc HEAD@{}: commit: fix(bug-): fix something
868e045 HEAD@{}: commit: fix(bug-): fix something
aa13e9b HEAD@{}: commit: fix(bug-): fix something
4169d73 HEAD@{}: commit: fix(bug-): fix something
a142e95 HEAD@{}: commit: fix(bug-): fix something
c221ede HEAD@{}: commit (initial): init
"

git branch resume-master ac4b4fc # 基于某个版本创建新的分支 # 合并分支或者创建、应用补丁

  

  4. 不小心清空了贮藏的修改(贮藏也要好好写备注喔(●'◡'●),不然想搜索也难)

git fsck --lost-found | awk '{print $3}' | xargs git show | grep -C 5 v1.0.5 # 找回丢失的对象 | 获取对象哈希值 | 显示对象内容 | 根据关键搜索
# output:"
Checking object directories: 100% (256/256), done.
commit 52b018c63226ec7e1f4ddfc349111840dc61c6cc
Merge: a142e95 e9c39a1
Author: YaungOu
Date: Wed May 17 01:22:56 2017 +0800

On master: v1.0.5 in development

commit 635b85f8113df5672c91274d925b4d66d6eae6b7
Author: YaungOu
Date: Tue May 16 22:56:44 2017 +0800
"

git stash apply 52b018c63226ec7e1f4ddfc349111840dc61c6cc # 应用上一个命令得到的HashId对应的修改

  未完待续。。。

Git:常用功能 - 命令行的更多相关文章

  1. git常用的命令行

    git管理相关基础命令行,因为现在很多公司都用git管理代码,所以被问及的概率很大,可以用pycharm的git系统,也可以用git代码管理 $git init #初始化仓库$git branch 分 ...

  2. 十五个最常用Linux命令行 - imsoft.cnblogs

    众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...

  3. 十条常用nmap命令行格式

    十条常用nmap命令行格式 ) 获取远程主机的系统类型及开放端口 nmap -sS -P0 -sV -O <target> 这里的 < target > 可以是单一 IP, 或 ...

  4. git常用的命令你知道有哪些?

    1.git与svn的区别 1,git是目前世界上最先进的分布式版本控制系统,他没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候不需要联网 2,svn是集中式版本控制系统,版本库是集中 ...

  5. redis常用的命令行以及操作

    redis常用的命令行以及操作 转载酱紫人的理直气壮 最后发布于2018-07-30 17:00:41 阅读数 805  收藏 转载地址:https://blog.csdn.net/li_lening ...

  6. Vim中常用的命令行

    Vim中常用的命令行... ------------------- 一些真正强大的武器总不是那么容易驾驭的,主角总得付出一些努力才能收获到更加强大的力量,对于 Vim 这种上古神器来说更是如此.由于它 ...

  7. Mac 下 Git 的基础命令行操作

    Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...

  8. flutter之VSCode下Flutter常用终端命令行

    https://www.cnblogs.com/lxlx1798/p/11049922.html 梁飞宇 [Flutter学习]之VSCode下Flutter常用终端命令行 Flutter 常用命令行 ...

  9. ipmi常用的命令行命令

    前言 记录一些常用的命令行操作 命令 查询机器的电源状态 ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power status 硬重启 ...

随机推荐

  1. Java中的框架基础面试知识

    spring mvc 工作机制(原理): DispatcherServlet主要用作职责调度工作,本身主要用于控制流程 Spring mvc运行原理 1.springmvc将所有的请求都提交给Disp ...

  2. C++获取系统当前时间

    1.利用系统函数,不仅可以查看系统时间,而且还能修改系统时间 #include<stdlib.h> #include<iostream> using namespace std ...

  3. 总结·CSS3中定位模型之position属性的使用方法

    一.position元素介绍 position属性规定了元素的定位类型,通过定位,可准确地定义元素相对于其正常位置而应该出现的位置,或者是相对于父元素.另一元素和浏览器窗口等的位置. position ...

  4. ICG_System之全自动代码生成器V2.0版本

    大家好! 早在2014年本人就已经利用业余时间开发自己的ICG之代码生成器系统.依靠bootstrap的崛起本人也在不断完善此应用.目的是为了减少开发人员的工作量. 减少不必要的复制粘贴操作,该系统已 ...

  5. 在React中使用Redux

    这是Webpack+React系列配置过程记录的第六篇.其他内容请参考: 第一篇:使用webpack.babel.react.antdesign配置单页面应用开发环境 第二篇:使用react-rout ...

  6. 用removeLast和removeFrist来模仿堆和栈

    /* *在大不久前,我决定自学Java,关注了很多的公众号.微博等.没几天我看到一个笑话: *晚上孩子哭了,老婆让我去看看. *我说:"不行,咱们的床是队列,你先上的床就得你先下床... * ...

  7. textarea禁止拖拽

    <textarea style="resize:none;" ></textarea>'

  8. sublime text 3双击选择无法选择$符号

    创建/Data/Packages/User/PHP.sublime-settings文件,内容为"word_separators": "./\\()\"'-:, ...

  9. [leetcode-581-Shortest Unsorted Continuous Subarray]

    Given an integer array, you need to find one continuous subarray that if you only sort this subarray ...

  10. Vijos 1034 家族 并查集

    描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚.如果x,y是亲戚 ...