1

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项目各个分支的提交历史记录

image.png

一般可以配合别名使用

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

image.png

将 pick 改为 s 保存退出后 确定提交内容保存退出即可

image.png

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速度将得到提升

参考: https://www.grpc.io/docs/lang...


tim_xiao
144 声望2 粉丝

后端程序员