Git Commit Rewrite

commit message 重写

  1. commit 未 push

git commit --amend

  1. commit 且 push
1
2
3
4
5
6
7
8
9
10
11
12
#查看需要修改的commit id
git log
# rebase到指定id
git rebase -i commit-id
# 把需要修改的commit-id pick修改为edit,保存
# 修改commit信息并保存
git commit --amend
# 继续直到回到当前分支
git rebase --continue
# 强制push
git push -f

rebase 使用风险极大,请确保当前分支是最新代码,且已经提交了所有本地修改,还要确保rebase期间没有其他人提交代码。

Git 不再跟踪及提交某个文件

查看文件修改状态

1
2
3
4
5
6
7
8
git status

On branch feature/branch_1
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: dir/file1.txt
modified: dir/file2.txt

不再跟踪指定文件

1
git update-index --assume-unchanged dir/file1.txt

查看文件修改状态

1
2
3
4
5
6
git status

On branch feature/branch_1
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: dir/file2.txt

查看本地不再跟踪的文件列表

1
2
3
git ls-files -v | grep '^h\ '

h dir/file1.txt

恢复已忽略文件的追踪

1
2
3
4
5
6
7
8
9
10
11
12
# 恢复指定文件
git update-index --no-assume-unchanged dir/file1.txt
# 全部恢复
git ls-files -v | grep '^h\ ' | awk '{print $2}' | xargs git update-index --no-assume-unchanged

git status

On branch feature/branch_1
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: dir/file1.txt
modified: dir/file2.txt

Mybatis New Feture

Mybatis新特性之Stream AND MySQL Container

commit-id: 78fbabdb

支持Mybatis对于fetchSize的支持

1
@Options(fetchSize = Integer.MIN_VALUE)

之前版本报异常,连接被提前关闭

commit-id: 25ddbb9b

Mybatis支持MySQL容器的测试

1
2
3
4
5
6
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<version>1.12.1</version>
<scope>test</scope>
</dependency>

这样,用户就不用担心没有可用的MySQL,来进行testcase编写了,有一个缺陷就是,容器测试,效率稍微有些低下。

建站主题配置

选择主题

这里选择了 hipaper

1
2
3
4
5
#in blog folder
# 选择主题
git clone https://github.com/iTimeTraveler/hexo-theme-hipaper.git themes/hipaper
# 配置主题
# 把Hexo主目录下 _config.yml 文件中的theme字段改为 hipaper

配置网站标题

修改hexo配置文件<blog_root>/_config.yml

1
2
3
title: #网站标题
subsite:#网站副标题
author: #作者名称

支持图片logo

1
2
3
4
5
6
7
8
# Put your avatar.jpg into `hexo-site/themes/hipaper/source/` directory.
# url is target link (E.g. `url: https://hexo.io/logo.svg` or `url: css/images/mylogo.jpg`)
avatar:
enable: true
width: 124
height: 124
bottom: 10
url: https://hexo.io/logo.svg

配置tag及category

1
2
# 创建tags页面
hexo new page tags
1
2
3
4
5
6
7
8
# source/tags/index.md 修改为
---
#title: tags
date: 2019-09-11 16:39:26
type: tags
layout: tags
---
# caffolds/post.md scaffolds/draft.md 里面的tags: 修改为 tags: {{ tags }}
1
2
# 生产站点文档
hexo g

GitHub PR

PR 流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# fork 源代码到自己仓库
git clone git@github.com:YouUWd/mybatis-3.git
# 建立上游连接
git remote add upstream git@github.com:mybatis/mybatis-3.git
# 创建开发分支 (非必须)
git checkout -b dev
# 修改提交代码
git status
git add .
git commit -m "fix xxx"
git push origin dev
# 同步代码
git fetch upstream
git rebase upstream/master
git push origin master
# GitHub 到自己仓库提交pr

我的第一个开源PR

issue

pull request