转自:https://www.jianshu.com/p/3622ed542c3b

背景

git太常用了,虽然,用起来不难,但也有很多小技巧的东西...

1. 后悔药

哪天不小心,写完代码,没commit,直接reset了或者checkout了,怎么办?

git reflog

会列出你的各种操作,然后git reset 到指定的节点就可以

屏幕快照 2016-05-04 下午12.20.13.png

2. bash里面显示git branch

像这样:
1.显示branch
2.增加点颜色

chengpoleness@polen(~/Documents/code/18birdies/ios)(hdcp-stringChange)$

如何做到
很简单

vim ~/.bashrc

进入vim今天编辑,输入如下内容即可:

source ~/.git-prompt.sh

# Bash completion
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi export GIT_PS1_SHOWDIRTYSTATE=1 export PS1='\[\033[01;33m\]\u@\h\[\033[00;37m\](\w)\[\033[01;32m\]$(__git_ps1)\[\033[00;32m\]\$\[\033[00m\] '

然后,执行下

source ~/.bashrc

然后比较闲的无聊,把颜色和格式改来改去:

屏幕快照 2016-05-04 下午12.15.52.png

3. git squash

今天(2016-07-25)刷朋友圈,无意中看到,有人说git push前不做squash的不是sb就是ruozhi,我擦,就从没用过,这不正中下怀,
于是赶紧补一下关于squash的知识,然后用起来...
http://chuansong.me/n/447693

这个其实就是合并commit了,会了也是很简单的。

4. git如何自动补全:

我们经常要建各种分支,所以每次不同分支切换就会很麻烦
有的分支名起的很奇怪就会输不对
但系统自身是不带git补全功能的
那怎么办呢?

http://blog.csdn.net/zhangt85/article/details/43611997
看这里

5.扩展小技巧

10 个迅速提升你 Git 水平的提示
http://www.oschina.net/translate/10-tips-git-next-level

里面有个cherry-pick,可以合并任意指定的commit到你当前的分支,比较实用。
我自己开发中,经常有些bug随手就在当前分支改了,但当前分支有时候不需要立刻合并进主分支,怎么办,
就拉去master或develop 的最新分支,cherry-pick改了bug 的这个commit就可以了。
无缝过度。。。

作者:pingpong_龘
链接:https://www.jianshu.com/p/3622ed542c3b
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Git相关二三事(git reflog 和彩色branch)【转】的更多相关文章

  1. 【git学习二】git基础之git管理本地项目

    1.背景        git基础打算分两部分来说,一部分是对于本地项目的管理,第二部分是对于远程代码仓库的操作. git运行本地项目管理包含对于相关文件的追踪,暂存区的比較分析,提交,撤销等功能. ...

  2. Git(二)Git几个区的关系与Git和GitHub的关联

    前言 前面只是大概的介绍了一点基础的东西,接下来会更加深入的去了解一下Git. 一.Git的工作区.暂存区和版本库之间的区别和联系 1)工作区 在PC中能看得到的创建的一个管理仓库的目录.比如目录下G ...

  3. Git使用二:git与svn的区别与工作流程

    svn记录的是每一次版本变动的内容,三角形代表改动的内容 git是将每个版本独立保存 git的三棵树:工作区域.暂存区域.git仓库 工作目录:平时存放项目的地方暂存区域:临时存放改动,即将提交到仓库 ...

  4. git学习(二):git config命令

    不同的git config操作不同的参数文件 git config --global // 配置用户目录下的.gitconfig那文件 git config --system // 配置系统级配置文件 ...

  5. git相关操作

    git相关命令 基本操作 git init git add xxx git commit -m "first commit" git tag -a V1.0 -m '我的标签' g ...

  6. Git知识总览(六) Git分支中的远程操作实践

    前几篇博客陆陆续续的讲了好多关于Git操作的内容,本篇博客仍然也不例外,不过本篇博客的主题是关于git的远程操作的.依照之前博客的风格,我们依然依托于LearningGitBranch中的相关内容来探 ...

  7. 一只代码小白git托管路上的二三事

    [经验]一只代码小白git托管路上的二三事 写在前面的话 寒假的时候,娄老师给我们布置了代码托管的作业,并要求把托管地址发给学委.因假期的时候没有带电脑回家,所以只是在手机上草草注册了,也稀里糊涂就将 ...

  8. 学习git与github的二三事 (一)

    前一段时间看到了一个参加机器人比赛的同学写的经验之谈,他提到了在比赛时,希望同学们学习一下git来管理代码,于是我就某度了一下,发现了廖雪峰老师的网站,受益匪浅,持续学习中,拜谢大神,顺便记录一下自己 ...

  9. Git相关操作二

    1.查看HEAD提交: git show HEAD 在git中,目前提交被称为HEAD提交,输入上述命令可以查看当前提交所有文件的修改内容. 2.撤销更改: git checkout HEAD fil ...

随机推荐

  1. 自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表、Hosts_groups表、Interface表

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表.Hosts_grou ...

  2. 【BZOJ2208】[JSOI2010]连通数(Tarjan)

    [BZOJ2208][JSOI2010]连通数(Tarjan) 题面 BZOJ 洛谷 题解 先吐槽辣鸡洛谷数据,我写了个\(O(nm)\)的都过了. #include<iostream> ...

  3. 【BZOJ3668】【NOI2014】起床困难综合症(贪心)

    [NOI2014]起床困难综合症(贪心) 题面 Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚 ...

  4. HTML5小游戏-简单抽奖小游戏

    换了新工作以后,专注前端开发,平常空闲时间也比较多,可以多钻研一下技术,写一下博客.最近在学习canvas,参考网上的slotmachine插件,用canvas实现了一个简单抽奖小游戏.       ...

  5. A1086. Tree Traversals Again

    An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example ...

  6. Faster RCNN代码理解(Python)

    转自http://www.infocool.net/kb/Python/201611/209696.html#原文地址 第一步,准备 从train_faster_rcnn_alt_opt.py入: 初 ...

  7. VS2010程序崩溃,报错Unhandled exception at **.exe:0xC0000005: Access violation reading location 0x000000008899.

    最近被派到另外一个组支援,从而从Linux下开发暂转到Windows下开发,个人觉得Windows自己搞的一套并不那么完美,坑多. 网文可能出现的原因: 未处理的异常: 0xC0000005: 读取位 ...

  8. 【BLUESKY的NOIp模拟赛】解题报告

     昨天晚上熬夜熬得有点严重,今天比赛的时候状态不好,成绩爆炸...  不得不说BLUESKY007 出的题还是相当不错的,也为我提醒了几个需要补的漏洞方向,这里作一下整理. \(Task 1\):探索 ...

  9. centos7使用kubeadm配置高可用k8s集群

    CountingStars_ 关注 2018.08.12 09:06* 字数 464 阅读 88评论 0喜欢 0 简介 使用kubeadm配置多master节点,实现高可用. 安装 实验环境说明 实验 ...

  10. SQL Server利用XML找字符串相同部分

    DECLARE @a NVARCHAR(100)= '01,02,04,05,07'; DECLARE @b NVARCHAR(100)= '01,03,04,05,06'; WITH    a1   ...