1. 配置用户信息

git config --global user.name <name>
git config --global user.email <email_address>

2. 配置高亮显示

git config --global color.ui auto

  使用auto的高亮配置比较省事。

3. 配置git log

git config --global log.decorate short

  decorate选项设置成short,这样在commit message上会显示对应的ref name。(省略前缀refs/heads/, refs/tags/ and refs/remotes/)

4. 配置git send-email

git config --global sendemail.smtpserver <smtpserver>
git config --global sendemail.confirm always
git config --global sendemail.suppresscc all

  confirm选项设置成每次发送总会提示确认信息。suppresscc选项设置成完全禁止auto cc,这样就不会通过检查commit message自动添加email到CC list里了。

5. 查看图形化的提交历史

git log --graph --oneline

6. 查看merge的信息

  只查看merge提交。

git log --merges --oneline

  对于merge,在commit信息中会显示两个分支在merge前的commit。

$ git show c1ef57a
commit c1ef57a3a3f5e69e98baf89055b423da62791c13 (HEAD -> master)
Merge: ed535f2 2faf852
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Thu Feb :: + Merge tag 'io_uring-5.6-2020-02-05' of git://git.kernel.dk/linux-block
[...]

  查看两个分支的共同祖先。

git merge-base ed535f2 2faf852

7. 为连续的commit生成patch

git format-patch <base_commit>..<latest_commit>

  不包含base_commit。

8. cherry-pick连续的commit

git cherry-pick <base_commit>..<latest_commit>

  不包含base_commit。使用-n选项的话,可以在cherry-pick的过程中不提交commit,而是cherry-pick全部完成后手动提交一个commit。

9. git merge

git merge --no-ff <branch/tag/commit>

fast-forward merge

  从master branch创建一个devel branch来接收commit提交,而master上不再有commit提交。master在merge devel的时候,就可以进行fast-forward merge,将devel上的每个commit都apply到master上并且保持commit ID不变,最后不再创建merge commit。

non-fast-forward merge

  这是常用的merge方式,创建一个merge commit,在该merge commit上merge devel branch上的代码改动。使用选项--no-ff。

10. git tag

git tag -a <tag_name> <commit_id>

Git常用命令 - 随时更新的更多相关文章

  1. git 常用命令(不定期更新)

    过程写写吧,总是忘记.1,在一个文件夹下 键入 git init ,使之成为Git可以管理的仓库.2,编写一个文件readme.txt.3,把文件添加到仓库 git add readme.txt4,把 ...

  2. git常用命令[持续更新]

    git commit -am "abc" 提交已经删除过的文件 git reset --hard HEAD 用于清除跟踪文件的修改

  3. 把git仓库从码云迁到github,及git常用命令

    前言 刚开始建仓库的时候,因为网络的原因选择了国内的码云.后来又想换成github,毕竟平时github使用率比较高. 替换远程仓库地址方式如下: git remote set-url origin ...

  4. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  5. Git 常用命令 更新与提交

    整理了一下Git 常用命令,这个版本还是比较好用的,最后附上个人终结版,帮助你快速上手. 取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone yourgit ...

  6. 【github&&git】4、git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  7. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  8. Git 常用命令详解(二)

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  9. 【转】 Git 常用命令详解(二)----不错

    原文网址:http://blog.csdn.net/ithomer/article/details/7529022 Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如: ...

随机推荐

  1. [Java] The imoprt XXX cannot be resolved

    不知道为什么突然报错,但是可以成功编译. 通过import一个未使用的包来消除error,猜测是插件的问题,具体原因未知. import 未使用的包后,error消失.

  2. 如何优雅地打印一个Java对象?

    你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下). 在一个月黑风高的夜晚,我思前想后,觉得再也不能 ...

  3. qt creator源码全方面分析(2-1-1)

    目录 C++的策略/二进制兼容性问题 定义 ABI注意事项 可做与不可做 库程序员的技巧 位标志 使用d指针 故障排除 在没有d指针的情况下将新数据成员添加到类中 添加已重新实现的虚函数 使用新类 向 ...

  4. c++中各类型数据占据的字节长度

    c++中各种类型数据类型占据字节长度 首先罗列一下C++中的数据类型都有哪些: 1.整形:int.long 2.字符型:char.wchar_t 3.布尔型:bool 4.浮点型:float.doub ...

  5. Gorm与数据库(单复数)表结构之间的映射

    Gorm连接MySQL: import ( _ "github.com/go-sql-driver/mysql" "github.com/jinzhu/gorm" ...

  6. 阿里云服务器ECS Ubuntu18.04 建立新用户

    昨天花了好长时间终于把界面功能弄好了,今天找时间再折腾一下: 1.建立新的用户: ssh连接上,用以下命令建立新用户,并设置密码: 创建普通用户“myname”成功,接下来为用户“myname”赋予s ...

  7. vue路由核心要点(vue-router)

    目录 目录 1.vue-router 是什么? 2.如何使用v-router? 3.vue-router跳转和传参 4.vue-router实现的原理 两种模式 5.vue-router 有哪几种导航 ...

  8. finalize的用法

    public class GC {          public static GC SAVE_HOOK = null;          public static void main(Strin ...

  9. Linux中awk抽取包含某字段的整行日志

    命令示例:awk '{if($0~"listAuths") print}'   xxx.log 解释说明:抽取xxx.log整个日志文件中,包含“listAuths”的行,打印输出

  10. centos 配置虚拟环境

    1.pip install virtualenvwrapper (pip install virtualenv virtualenvwrapper)2.export WORKON_HOME=/home ...