1: 分之提交历史查看
git for-each-ref --sort=committerdate refs/heads/ --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))'
按照git commit 提交顺序排列本地分之。可以用此命令将一些很久没有用到的分之delete掉。
这里演示在Git Bash 下查看laravel项目各个分支的提交历史记录
一般可以配合别名使用
2:扁平化merge
git merge --squash
其实还是挺有用的,在github,gitee等代码托管网站中对于pr的合并我一般都会使用扁平化合并进行合并
3:tag
tag的推送和分之的推送是两回事。分之push到origin不代表tag也推送。
git tag // 列出所有标签
git tag v0.0.4 //简易创建本地tag
git push origin --tags // 推送tag到origin
git tag -d <tagName> // 删除本地tag
git push origin :<tagName> //删除远端tag
4:git忽略已经提交到版本库的文件
以下以.idea文件夹为例
// 文件夹需要加 -r
git rm -r --cached .idea/
git commit -m 'git ignore'
5:基础命令
git help //这个基本比较全面了
git config --list
git remote -v
6:合并多次commit
//以下命令表示合并 6f9b8ecc 往后的 commit(不包括 6f9b8ecc)
git rebase -i 6f9b8ecc
// 合并做进两次提交
git rebase -i HEAD~2
将 pick 改为 s 保存退出后 确定提交内容保存退出即可
7:修改最后一次提交的注释
git commit --amend
8:加快clone速度
git clone -b v1.48.0 --depth 1 https://github.com/grpc/grpc-go
--depth 1 可以 限制 clone 的深度 以上命令指定clone v1.48.0分支 并且限定depth=1,由于不会下载 Git 协作的历史记录,所以clone速度将得到提升
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。