1.Git自动补全

假使你使用命令行工具运行Git命令,那么每次手动输入各种命令是一件很令人厌烦的事情。

命令:

cd ~

curl https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

然后,添加下面几行到你的 ~/.bash_profile 文件中:

if [ -f ~/.git-completion.bash];then

  .~/.git-completion.bash

fi

2.在Git中忽略文件

Git忽略掉那些特定的文件和文件夹,只需要创建一个名为 .gitgnore然后列出那些你不希望Git跟踪的文件和文件夹。

你还可以添加例外,通过使用感叹号(!).

*.pyc

*.ext

my_db_config/

!main.pyc

3. 显示文件中每一行的作者,最新的变更提交和提交时间展示出来。

git blame [file_name]

git blame demonstration

4.查看仓库历史记录

上一节我们已经学习了如何使用git log,不过,这里还有三个你应该知道的选项。

--oneline- 压缩模式,在每个提交的旁边显示经过精简的提交哈希码和提交信息,以一行显示。

-graph- 图形模式,使用该选项会在输出的左边绘制一张基于文本格式的历史信息表示图。如果你查看的是单个分支的历史

记录的话,该选项无效。

--all- 显示所有分支的历史记录

5 绝对不要丢失对commit的跟踪

假设你不小心提交了你不想要的东西,不得不做一次强制重置来恢复到之前的状态。然后,你意识到在这一过程中

你丢失了其他一些信息并且想要把他们找回来,或者至少看一眼,这正是git reflog可以做到的。

一个简单的git log 命令可以为你展示最后一次commit,以及他的父亲,还有他父亲的父亲等等。

而git reflog则列出了head曾经指向过的一系列commit。要明白他们只存在于你本机中;而不是你的版本仓库的一部分,

一不包含在push和merge操作中。

6.暂存文件的部分改动

一般情况下,创建一个基于特性的提交是比较号的做法,意思是每次提交都必须代表一个新特性的产生或者

是一个bug的修复。如果你修复了两个bug,或者添加了多个新特性但是却没有提交这些变化会怎样呢,

在这种情况下,你可以把这些变化放在一次提交中。但更好的方法是把文件暂存(Stage)然后分别提交。

例如你对一个文件进行了多次修改并且想把他们分别提交。这种情况下,你可以在add命令中加上-p参数

git add -p [file_name]

我们来演示一下在file_name文件中添加了3行文字,但只想提交第一行和第三行。先看一下git diff 显示的结果:

7.压缩多个commit

用rebase命令把多个commit压缩成一个

git rebase -i HEAD~[number_of_commits]

如果你想要压缩最后两个commit ,你需要运行下列命令。

git rebase -i HEAD~2

9.检查丢失的提交

尽管 reflog是唯一检查丢失提交的方式。但它不是适应于大型的仓库。那就是fsck(文件系统检测)

git fsch --lost-found

Git 进阶:10大技巧让你迅速提升的更多相关文章

  1. 快速开发 jQuery 插件的 10 大技巧(转)

    1. 把你的代码全部放在闭包里面 这是我用的最多的一条.但是有时候在闭包外面的方法会不能调用.不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面.而方法可能应 ...

  2. 程序员心髓:移动应用API设计10大技巧

    移动App与基于Web/云服务发生对话是很常见的事情,最简单的可能仅仅只是检索数据,但也可能包含发送数据.用户授权和管理.而这也就验证了为移动应用建立API的重要性,为此,我们特总结了10大移动API ...

  3. 快速开发 jQuery 插件的 10 大技巧(转)

    转自:http://www.oschina.net/news/41776/jquery-10-tips 在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模 ...

  4. 快速开发 jQuery 插件的 10 大技巧

    在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行了. ...

  5. 快速开发jQuery插件的10大技巧

    原文链接:http://wiki.itivy.com/?p=36 在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & ...

  6. linux服务器安全配置10大技巧

    1.禁止ping/etc/rc.d/rc.localecho 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all2.对用户和口令文件进行权限控制chmod 6 ...

  7. [转]成为优秀Java程序员的10大技巧

    转自:http://www.codeceo.com/article/10-good-java-programmer-tips.html Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开 ...

  8. java数组10大技巧

    0.  声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {"a"," ...

  9. 让PHP开发者事半功倍的十大技巧

    如果你使用一面大镜子作为冲浪板会发生什么?或许你会在较短的时间内征服海浪,但是你肯定从内心深处明白,这不是冲浪的正确选择.同样的道理也适用于PHP编程,尽管这样的类比听起来有一些古怪.我们经常听到有人 ...

随机推荐

  1. 接口--全局异常配置--异常处理handle自定义配置

    在重写了异常处理的handle类之后需要配置配置文件中handle的路径:

  2. webpack4配置react开发环境

    webpack4大大提高了开发效率,简化了配置复杂度,作为一个大的版本更新,作为一个对开发效率执着的爱折腾的程序员,已经忍不住要尝尝鲜了 首先是cli和webpack的分离,开发webpack应用程序 ...

  3. LATEX公式集锦(转载)

  4. 读书笔记--Hibernate in Action 目录

    1.理解对象/关系持久化 2.启动项目 3.领域模型和元数据 4.映射持久化类 5.继承和定制类型 6.映射集合和实体关联 7.高级实体关联映射 8.遗留数据库和定制SQL 9.使用对象 10.事务和 ...

  5. Javaweb Form表单查询

    1.表单(form),是一种可以由用户输入,并提交给服务器端的一个图形界面,有如下性质: (1)表单中可以输入一些内容,这些输入功能由控件提供,叫做表单元素 (2)表单中一般都有一个按钮负责提交 (3 ...

  6. 日志lombok插件安装及配置

    安装lombok插件 下载Lombok.jar http://projectlombok.googlecode.com/files/lombok.jar 运行Lombok.jar java -jar ...

  7. Linux下读写UART串口的代码

    Linux下读写UART串口的代码,从IBM Developer network上拿来的东西,操作比較的复杂,就直接跳过了,好在代码能用,记录一下- 两个实用的函数- //////////////// ...

  8. day36 04-Hibernate检索方式:多表连接查询

    返回的是一个List集合,这个List集合的泛型是一个Object数组.最后会拿到一个里面放Object数组的List集合. HQL内连接查询,发出SQL语句查询出来的结果集被Hibernate封装成 ...

  9. Spring2.5依靠注入的方式有三种

    Spring2.5依靠注入的方式有三种: 1.通过setter方法注入: 2.通过构造方法注入: 3.通过注解进行注入: 第一种方式:通过setter方法注入 Java代码 package com.t ...

  10. echarts 重新渲染(重新绘制,重新加载数据)等