Git常用命令 - 随时更新
2024-09-06 18:07:35
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>
最新文章
- css权威指南--笔记
- Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法
- UIKit框架之UIGestureRecognizer
- hdu3410 单调队列
- Android进阶笔记19:onInterceptTouchEvent、onTouchEvent与onTouch
- HDU 5842 Lweb and String (水题)
- Linux下Ant的安装
- python-cmp()的使用
- js清除cookie有时无法清除
- github中删除项目
- jemeter 实现接口自动化回归测试
- selenium中webdriver识别class属性多个值中有空格的解决方案
- 如何看iOS崩溃日志
- 史上最全 原生javascript的知识总结,适合新手及查资料用!
- ionic3 打包Xcode 9 Swift Language Version (SWIFT_VERSION) Ask 报错
- LeetCode--015--三元之和(java)
- 《使用python进行数据分析》
- 设置cookie,获取cookie,删除cookie,修改cookie
- 蜗牛—ORACLE基础之学习(二)
- C#string数组转换到int数组并得到最大最小值
热门文章
- Leetcode 题目整理-6 Swap Nodes in Pairs &; Remove Duplicates from Sorted Array
- Docker快速上手之搭建SpringBoot项目
- 介绍Netty
- linux下的 $ ./configure $ sudo make &;&; sudo make install
- 脚本、脚本语言、shell脚本
- js - 构造函数-静态属性/方法-原型对象 - 前端第八课
- Codeforces 1064D Labyrinth(双端队列BFS)
- Gdal随笔
- mysql 支持emoji表情
- Java开发最佳实践(一) ——《Java开发手册》之";编程规约";