上一篇《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. unity客户端基本框架(转载)

    框架概述: 基础系统的框架搭建,其中包括: UI框架(NGUI + MVC) 消息管理(Advanced CSharp Messenger) 网络层框架(Socket + Protobuf ) 表格数 ...

  2. Vue源码终笔-VNode更新与diff算法初探

    写完这个就差不多了,准备干新项目了. 确实挺不擅长写东西,感觉都是罗列代码写点注释的感觉,这篇就简单阐述一下数据变动时DOM是如何更新的,主要讲解下其中的diff算法. 先来个正常的html模板: & ...

  3. 磨刀不误砍柴工!vs2010快捷键大全

    最常用的快捷键: VS2012变化的快捷键: 注释::VS2010是(Ctrl+E,C),VS2012是(Ctrl+K, Ctrl+C),实际操作,按住Ctrl键不放,先按K键,再按C键.相当于Ctr ...

  4. 最长回文子串---Manacher算法

    百度:Manacher算法 代码 #include <iostream> #include <string> #include <cstring> #include ...

  5. AngularJS学习篇(十四)

    AngularJS 事件 ng-click 指令 ng-click 指令定义了 AngularJS 点击事件. <!DOCTYPE html> <html> <head& ...

  6. web前端优化--DOM性能优化

    1.DOM访问与修改的优化: DOM访问是有代价的,修改DOM则会引起DOM的重绘与重排,而这两种操作会消耗性能. (1)缓存DOM:将频繁访问的对象或属性使用变量缓存起来,每次访问的时候,直接使用变 ...

  7. grunt任务自动管理

    Grunt管理工具使用: 一.模块安装 1.在项目的根目录里新建package.json文件,形式如下,指定依赖的库以及版本信息. 2.然后在项目根目录下,执行 npm install ,安装json ...

  8. 开发一个基于 Android系统车载智能APP

    很久之前就想做一个车载相关的app.需要实现如下功能: (1)每0.2秒更新一次当前车辆的最新速度值. (2)可控制性记录行驶里程. (3)不连接网络情况下获取当前车辆位置.如(北京市X区X路X号) ...

  9. Spring AOP分析(3) -- CglibAopProxy实现AOP

    上文探讨了应用JDK动态代理实现Spring AOP功能的方式,下面将继续探讨Spring AOP功能的另外一种实现方式 -- CGLIB. 首先,来看看类名CglibAopProxy,该类实现了两个 ...

  10. 根据矩阵变化实现基于 HTML5 的 WebGL 3D 自动布局

    在数学中,矩阵是以行和列排列的数字,符号或表达式的矩形阵列,任何矩阵都可以通过相关字段的标量乘以元素.矩阵的主要应用是表示线性变换,即f(x)= 4 x等线性函数的推广.例如,旋转的载体在三维空间是一 ...