上一篇《Git命令汇总基础篇》总结了使用Git的基本命令,这一篇作为补充主要给大家讲一些平时使用中的技巧和总结 。

学会了这些命令,已经基本解决了使用Git中大部分问题。

1.gitignore 全局配置忽略文件

git config --global core.excludesfile ~/.gitignore

如果只针对某个项目起作用,也可以把.gitignore放在跟.project同一目录下。

2.git log 格式化显示

git log --pretty=oneline

git log --pretty="%h - %H - %an, %ar : %s"

git log --pretty="%h - %s"

git log -p 显示每次提交的内容差异

git -log --stat 显示简要的增改行数统计

3.git stash暂存

git stash

git stash save -a 'msg'

git stash pop

git stash list

git stash apply stash@{id}

git stash drop stash@{id}

4.git reset回滚

--git reset --soft head^  回退最近一次commit的文件

--git add 提交到暂存区

--git reset HEAD <file> 把暂存区里的文件撤销

--git reset --hard HEAD^ 把最近一次提交的文件回滚并覆盖

--git reset --hard <commit_id>

--git push -f

5.git 只合并分支上某个commit(即sourceTree的遴选)

1.git checkout -b'feature' 切换到新分支

2.git reflog  找到需要遴选的<commit_id1> <commit_id2>

3.git cherry-pick <commit_id1><commit_id2> 把1、2的提交合并到新分支

4.提交并推送

同样可以用sourceTree的遴选功能实现

1.切换到需要遴选提交代码的分支

2.选中某些提交,右键选择遴选

3.推送分支

6.git patch补丁 可以删除某一个commit

1.git log –oneline 找到需要删除的<commit_id>,假如倒序是第7次提交

2.git format-patch -7 生成7个patch,这些patch是按提交时间生成的

3.git reset --hard <commit_id>   回退到第8次提交的<commit_id>

4.--git push -f 强制推送到远程

5.git am *.patch  移除0007-.patch,把其他应用提交

6.推送分支

7.git revert 回退某个commit提交

git revert <commit_id>

区别于git reset,git revert是作为一个单独的commit提交

Git命令汇总(补充篇)的更多相关文章

  1. Git命令汇总(基础篇)

    自己用Git有一段时间了,随着项目越来越多,功能分支也随之增加,从简单的基础命令到随心所欲,需要自己不断地去尝试总结,下面来分享一下我的Git使用总结. 本章基础篇主要讲解一些Git代码提交流程和Gi ...

  2. 常用Git命令汇总

    常用Git命令汇总 跟着R哥来到了新公司(一个从硬件向互联网转型中的公司),新公司以前的代码基本是使用SVN做版本控制,甚至有些代码没有做版本控制,所以R哥叫HG做了一次Git分享,准备把公司所有的代 ...

  3. 常用 Git 命令汇总

    Git 命令汇总 1 Git 的一些通用术语 1.1 Git 的几个区 1.2 如何标识 Git 的某次提交 2 Git 配置 2.1 配置 2.2 读取配置 2.3 与 Beyond Compare ...

  4. Git命令之回退篇 git revert git reset

    Git command之回退篇 欲练回退 必先了解:HEAD.index.WorkingCopy HEAD: 当前所在的分支版本顶端的别名,也就是最新的一次commit. git commit 之后与 ...

  5. windows下使用Git命令汇总

    这里只是简单汇总下Git主要命令,方便记忆:汇总的不好,请各位包容,谢谢!想看详细讲解,推荐廖雪峰大神的教程,地址如下:http://www.liaoxuefeng.com/wiki/00137395 ...

  6. Git命令汇总

    1. 工作区和版本库 说明: 工作区(Working Directory)就是创建仓库的文件夹 版本库(Repository)就是工作区的隐藏目录.git,版本库中有暂存区(stage/index)和 ...

  7. git 命令汇总

    本地库处理 git init 初始化仓库 git clone [地址] 下载项目 git status 查看当前暂存等状态 git add 添加暂存 cat .git/config 查看git配置 l ...

  8. 16.git命令汇总

  9. Git命令汇总(转)

    转自:http://blog.csdn.net/esrichinacd/article/details/17645951 图片看不清请点击放大

随机推荐

  1. 关于git常见的一些问题

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 Mark一下,最近用的比较少,担心忘记了. 作为一个程序员,git或者SVN是必备技能,尤其是 ...

  2. 中高级JavaScript易错面试题

    写出下题的输出 1.函数的实参与形参length var length = 10; function fn() { console.log(this.length); } var obj = { le ...

  3. 27.Linux-DM9000C网卡移植(详解)

    上一节 我们学习了:   网卡驱动介绍以及制作虚拟网卡驱动: http://www.cnblogs.com/lifexy/p/7763352.html 接下来本节,学习网卡芯片DM9000C,如何编写 ...

  4. Einbahnstrasse

    Einbahnstrasse Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...

  5. sql脚本

    Windows下执行命令 \. d:\book.sql 这里使用了case when 这个小技巧来实现批量更新.//一个字段 UPDATE categories      SET display_or ...

  6. 【转载】目前主流过滤XSS的三种技术

    目前主流过滤XSS的三种技术 过滤 过滤,顾名思义,就是将提交上来的数据中的敏感词汇直接过滤掉.例如对"<script>"."<a>". ...

  7. linq 在查询表达式中处理 null 值

    此示例显示如何在源集合中处理可能的 null 值. IEnumerable<T> 等对象集合可包含值为 null 的元素. 如果源集合为 null 或包含值为 null 的元素,并且查询不 ...

  8. Java IO编程全解(五)——AIO编程

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7794151.html 前面讲到:Java IO编程全解(四)--NIO编程 NIO2.0引入了新的异步通道的 ...

  9. vue 使用axios 跨域请求数据的问题

    axios默认是没有jsonp 跨域请求的方法的.一般来说流行的做法是将跨域放在后台来解决,也就是后台开发人员添加跨域头信息. 例如java中的 header,response.setHeader(& ...

  10. python的xlwt模块的常用方法

    工作中需要导出数据为excel格式,使用了xlwt模块,在此记录一下用到的内容. 1. 创建一个表,设置一个sheet import xlwt workbook = xlwt.Workbook(enc ...