上一篇《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. [Bayesian] “我是bayesian我怕谁”系列 - Exact Inferences

    要整理这部分内容,一开始我是拒绝的.欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列. 但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有 ...

  2. 在webapi中为Action使用dynamic参数实现Post方式调用

    1.在webapi中使用controller/action/id的路径配置,打开文件[App_Start] -[WebApiConfig] config.Routes.MapHttpRoute( na ...

  3. Install a Redmine on Ubuntu system

    # How to install a Redmine on Ubuntu system Ref to: https://www.linode.com/docs/applications/project ...

  4. java语言插入数组中一个数,仍然能够实现排序

    package com.llh.demo; import java.util.Scanner; /** * * @author llh * */ public class Demo16 { /* * ...

  5. Spring框架学习之高级依赖关系配置(一)

    上篇文章我们对Spring做了初步的学习,了解了基本的依赖注入思想.学会简单的配置bean.能够使用Spring容器管理我们的bean实例等.但这还只是相对较浅显的内容,本篇将介绍bean的相关更高级 ...

  6. HDU1019 Least Common Multiple(多个数的最小公倍数)

    The least common multiple (LCM) of a set of positive integers is the smallest positive integer which ...

  7. 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) K Tournament Wins

    题目链接:http://codeforces.com/gym/101201 /* * @Author: lyucheng * @Date: 2017-10-22 14:38:52 * @Last Mo ...

  8. IdentityServer4 禁用 Consent screen page(权限确认页面)

    IdentityServer4 在登录完成的适合,会再跳转一次页面(权限确认),如下: 我之前以为 IdentityServer4 就是这样使用的,但实际业务场景并不需要进行权限确认,而是登陆成功后直 ...

  9. js获取浏览器版本

    获取火狐,谷歌,ie,常见浏览器的方法 function myBrowser(){ var userAgent = navigator.userAgent, rMsie = /(msie\s|trid ...

  10. Node.js Stream(流)

    Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出). Node.js,Str ...