转自: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. OpenAI 开源机器人模拟 Python 库,并行模拟处理速度提升400%

    10000da.cnvboyule.cnjiaeidaypt.cn  在过去一年的研究中,OpenAI团队开源一个使用 MuJoCoengine开发的用于机器人模拟的高性能Python库.雷锋网了解到 ...

  2. 【BZOJ3202】项链(莫比乌斯反演,Burnside引理)

    [BZOJ3202]项链(莫比乌斯反演,Burnside引理) 题面 BZOJ 洛谷 题解 首先读完题目,很明显的感觉就是,分成了两个部分计算. 首先计算本质不同的珠子个数,再计算本质不同的项链个数. ...

  3. 【BZOJ2425】[HAOI2010]计数(组合数学)

    [BZOJ2425][HAOI2010]计数(组合数学) 题面 BZOJ 洛谷 题解 很容易的一道题目. 统计一下每个数位出现的次数,然后从前往后依次枚举每一位,表示前面都已经卡在了范围内,从这一位开 ...

  4. OneProxy构建

    OneProxy的主要功能有:1. 垂直分库 2. 水平分表 3. Proxy集群 4. 读高可用 5. 读写分离(master不参与读) 6. 读写分离(master参与读) 7. 写高可用 8. ...

  5. Angularjs中的$q详解

    先说说什么是Promise,什么是$q吧.Promise是一种异步处理模式,有很多的实现方式,比如著名的Kris Kwal's Q还有JQuery的Deffered. 什么是Promise 以前了解过 ...

  6. WEB入门之十三 jQuery选择器

    学习内容 jQuery层次选择器 jQuery属性选择器 jQuery表单选择器 jQuery过滤选择器 能力目标 熟悉jQuery各种选择器的使用场合 能熟练使用jQuery各种选择器 本章简介 上 ...

  7. HDU 3081 Marriage Match II (二分图,并查集)

    HDU 3081 Marriage Match II (二分图,并查集) Description Presumably, you all have known the question of stab ...

  8. 【POJ3017】Cut the Sequence

    题目大意:给定一个长度为 N 的序列,将序列划分成若干段,保证每段之和不超过 M,问所有段的最大值之和最小是多少. 题解:设 \(f[i]\) 表示前 i 个数满足上述条件的最优解,显然有状态转移方程 ...

  9. mysql 在linux下的启动

    启动与停止 1.启动 MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可. [root@test1 init.d]# /etc/init.d/mysql ...

  10. spring-data-jpa与mybatis的对比

    Spring Data JPA 与 MyBatis对比 Spring Data JPA是Spring Data的子模块.使用Spring Data,使得基于“repositories”概念的JPA实现 ...