转自: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. SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)

    上个示例(SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API))是基于JavaScript,运行在web browser内去访问REST AP ...

  2. 洛谷 P2058 海港 解题报告

    P2058 海港 题目描述 小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客. 小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况: ...

  3. 使用nagios监控ssl证书过期时间

    1.编写监控脚本. # vim check_ssl_expiry.sh #!/bin/bash STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 Host=$1 ...

  4. c++纯虚函数在父类中调用的规避

    构造和析构函数不允许调用纯虚函数,可以先调用虚函数,里面再调用纯虚函数实现. class Base{public:    virtual void foo()=0;    Base() { call_ ...

  5. CF 991

    843名... 正规比赛肯定要掉分了...... 就算C没WA也是765名...为什么会这么菜呢? A,水.我加了两个特判. B,水.以 n * 4.5 为目标即可. C,裸二分,可耻的WA了一次是为 ...

  6. windows下用bat启动jar包,修改cmd标题(title)

    新建start.bat,输入以下内容即可. @echo off title myprogress-%date%-%time%-%cd% java -jar myprogress.jar

  7. C# 遍历指定目录下的所有文件及文件夹以及遍历数据库的方法

    // DirectoryInfo di = new DirectoryInfo(@"D:\Test"); // FindFile(di); static void FindFile ...

  8. IDEA集成有道翻译插件/maven帮助插件/mybatis插件

    (一)IDEA集成有道翻译插件:https://www.cnblogs.com/a8457013/p/7814335.html 插件下载地址:http://plugins.jetbrains.com/ ...

  9. 12: MyBatis之传入参数parameterType

    源链接地址:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764

  10. hdu 1756(判断点是否在多边形中)

    传送门 题解: 射线法判定点是否在多边形内部: AC代码: #include<iostream> #include<cstdio> #include<cmath> ...