转自: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. 自学Zabbix11.3 Zabbix SNMP 常用OID列表

    点击返回:自学Zabbix之路点击返回:自学Zabbix4.0之路点击返回:自学zabbix集锦 自学Zabbix11.3 Zabbix SNMP 常用OID列表 点击获取CISCO设备OID 系统参 ...

  2. [luogu#2019/03/10模拟赛][LnOI2019]长脖子鹿省选模拟赛赛后总结

    t1-快速多项式变换(FPT) 题解 看到这个\(f(x)=a_0+a_1x+a_2x^2+a_3x^3+ \cdots + a_nx^n\)式子,我们会想到我们学习进制转换中学到的,那么我们就只需要 ...

  3. Looper Handler Mssage

    1. 一个Handler只有一个队列;2. 在调用Handler.post(Runnable runnable)方法时,会将runnable封装成一个Message;3. 在队列执行时,会判断当前的M ...

  4. luogu P2181 对角线

    题目大意: 给一个n边形,求出在所有任意三条对角线都不相交于同一个点的情况下,交点个数是多少.(即交点个数最多是多少) 分析: 题目很水,但是公式不好想. 由于任意三条对角线不会交于一点,所以所有的交 ...

  5. [luogu1327][生活大爆炸石头剪子布]

    题目地址 https://www.luogu.org/problemnew/show/P1328 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负. ...

  6. Microsoft JET Database Engine 错误 '80004005' 未指定错误

    Microsoft JET Database Engine 错误 '80004005'未指定错误 =====解决=======出现这种“未指定错误”时,可以尝试重新注册ASP脚本解释链接库文件在CMD ...

  7. 基于tcp和多线程的多人聊天室-C语言

    之前在学习关于网络tcp和多线程的编程,学了知识以后不用一下总绝对心虚,于是就编写了一个基于tcp和多线程的多人聊天室. 具体的实现过程: 服务器端:绑定socket对象->设置监听数-> ...

  8. 利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境

    一.环境描述 安装有ansible的服务器:192.168.13.45 测试环境服务器:192.168.13.49 /home/app/api-tomcat/webapps/api.war为测试环境新 ...

  9. ElasticSearch搜索介绍四

    ElasticSearch搜索 最基础的搜索: curl -XGET http://localhost:9200/_search 返回的结果为: { "took": 2, &quo ...

  10. window.scroll原生滚动

    window.scroll({ top: , behavior: 'smooth' }) js原生已经支持模拟滚动的效果啦~~~