Git:常用功能 - 命令行
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:常用功能 - 命令行的更多相关文章
- git常用的命令行
git管理相关基础命令行,因为现在很多公司都用git管理代码,所以被问及的概率很大,可以用pycharm的git系统,也可以用git代码管理 $git init #初始化仓库$git branch 分 ...
- 十五个最常用Linux命令行 - imsoft.cnblogs
众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...
- 十条常用nmap命令行格式
十条常用nmap命令行格式 ) 获取远程主机的系统类型及开放端口 nmap -sS -P0 -sV -O <target> 这里的 < target > 可以是单一 IP, 或 ...
- git常用的命令你知道有哪些?
1.git与svn的区别 1,git是目前世界上最先进的分布式版本控制系统,他没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候不需要联网 2,svn是集中式版本控制系统,版本库是集中 ...
- redis常用的命令行以及操作
redis常用的命令行以及操作 转载酱紫人的理直气壮 最后发布于2018-07-30 17:00:41 阅读数 805 收藏 转载地址:https://blog.csdn.net/li_lening ...
- Vim中常用的命令行
Vim中常用的命令行... ------------------- 一些真正强大的武器总不是那么容易驾驭的,主角总得付出一些努力才能收获到更加强大的力量,对于 Vim 这种上古神器来说更是如此.由于它 ...
- Mac 下 Git 的基础命令行操作
Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...
- flutter之VSCode下Flutter常用终端命令行
https://www.cnblogs.com/lxlx1798/p/11049922.html 梁飞宇 [Flutter学习]之VSCode下Flutter常用终端命令行 Flutter 常用命令行 ...
- ipmi常用的命令行命令
前言 记录一些常用的命令行操作 命令 查询机器的电源状态 ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power status 硬重启 ...
随机推荐
- 踩一踩微信小程序开发的坑---tabBar
最近忙于开发视频直播的项目,小程序学习也放置了两三个星期了,web开发者工具更新到新版,发现上个版本做的demo不显示了
- linux定时任务访问url
这次linux定时任务设置成功,也算是自己学习linux中一个小小的里程碑.:) 撒花撒花--- 以下操作均是在ubuntu 下操作的,亲测有效,其他的linux系统还望亲们自己去查.鞠躬感谢! 1 ...
- Eclipse中SVN设置文件为ignore后重新添加至版本控制
先前把需要版本控制的文件夹ignore了,用了很长时间找解决方法,结果发现竟如此简单,对eclipse的功能不熟悉啊. 方法如下: 在Window->Show View -> Naviga ...
- [bzoj4872]分手是祝愿
Description Zeit und Raum trennen dich und mich. 时空将你我分开.B 君在玩一个游戏,这个游戏由 n 个灯和 n 个开关组成,给定这 n 个灯的初始状态 ...
- Sql Server 事物
事物的定义: 数据库的事物是原子性的,原子性的概念是指把一些事情当做一个单元来看待. 从数据库的角度看,它是指全部执行或者全部不执行的一条或者多条语句的最小组合:为了理解事务的概念,需要能够定义非常明 ...
- RSA加密通信小结(四)--RSA加解密的实际操作与流程小结
在上一篇文章中,我们已经将密钥的生成方法和流程,归纳总结.而本篇主要是讲如何利用密钥进行加解密. 首先,在上一篇文章中的我们生成了很多密钥,证书等等. 在上述生成的文件中,接收服务端加密报文:pkcs ...
- Navicat连接报错:cannot load OCI DLL,126
32位系统下报错:cannot load OCI DLL,126 解决方法:navicat 菜单中 -工具->选项->OCI 选择oracle安装目录下bin里面的oci.dll 在win ...
- Discuz更改默认搜索模块
由于网站使用DZ的侧重点不同,在搜索中可能需要更改默认搜索模块 首先找到模板中搜索模块对应的文件,默认模板中搜索模块的地址是 template\default\common\pubsearchform ...
- jquery获取当前选项的属性值a
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- Canvas画布实现自定义时钟效果
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...