git rebase测试
-
初始化仓库
vim 1.c git init . git add 1.c git commit -m "add 1.c" .
此时为master分支。
-
尝试修改1.c文件,并提交:
git commit -m "modify 1.c" .
看git日志:
commit c2e038447c278fe21bb3f6eb66710269a78c3eeb Author: adam.zheng@gmail.com <adam.zheng@gmail.com> Date: Mon Nov 13 09:28:38 2023 +0800 modify 1.c commit a90687872319df39f37cb55bf8a06d7d565cfdd7 Author: adam.zheng@gmail.com <adam.zheng@gmail.com> Date: Mon Nov 13 09:27:39 2023 +0800 add 1.c
-
切换到新分支dev:
git checkout -b dev
修改并提交:
git commit -m "modify on dev" .
-
现在对比两个分支的提交:
master
commit 0c65a1cbc57468b823d5b561f123836ae57169ef Author: zhengyuchao@tp-link.com.cn <zhengyuchao@tp-link.com.cn> Date: Mon Nov 13 09:32:12 2023 +0800 modify on master 1.c | 1 + 1 file changed, 1 insertion(+) commit c2e038447c278fe21bb3f6eb66710269a78c3eeb Author: zhengyuchao@tp-link.com.cn <zhengyuchao@tp-link.com.cn> Date: Mon Nov 13 09:28:38 2023 +0800 modify 1.c 1.c | 1 + 1 file changed, 1 insertion(+) commit a90687872319df39f37cb55bf8a06d7d565cfdd7 Author: zhengyuchao@tp-link.com.cn <zhengyuchao@tp-link.com.cn> Date: Mon Nov 13 09:27:39 2023 +0800 add 1.c 1.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
dev:
commit 0ba2902ace62af877ea7d63a170bd8b76bdcf684 Author: zhengyuchao@tp-link.com.cn <zhengyuchao@tp-link.com.cn> Date: Mon Nov 13 09:29:43 2023 +0800 modify on dev 1.c | 1 + 1 file changed, 1 insertion(+) commit c2e038447c278fe21bb3f6eb66710269a78c3eeb Author: zhengyuchao@tp-link.com.cn <zhengyuchao@tp-link.com.cn> Date: Mon Nov 13 09:28:38 2023 +0800 modify 1.c 1.c | 1 + 1 file changed, 1 insertion(+) commit a90687872319df39f37cb55bf8a06d7d565cfdd7 Author: zhengyuchao@tp-link.com.cn <zhengyuchao@tp-link.com.cn> Date: Mon Nov 13 09:27:39 2023 +0800 add 1.c 1.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
-
rebase
git rebase master dev
对比dev分支上的commit的日志:
commit 0665b11fb858552795cbab9eecb43147ad095927 Author: zhengyuchao@tp-link.com.cn <zhengyuchao@tp-link.com.cn> Date: Mon Nov 13 09:29:43 2023 +0800 modify on dev 1.c | 1 + 1 file changed, 1 insertion(+) commit 0c65a1cbc57468b823d5b561f123836ae57169ef Author: zhengyuchao@tp-link.com.cn <zhengyuchao@tp-link.com.cn> Date: Mon Nov 13 09:32:12 2023 +0800 modify on master 1.c | 1 + 1 file changed, 1 insertion(+) commit c2e038447c278fe21bb3f6eb66710269a78c3eeb Author: zhengyuchao@tp-link.com.cn <zhengyuchao@tp-link.com.cn> Date: Mon Nov 13 09:28:38 2023 +0800 modify 1.c 1.c | 1 + 1 file changed, 1 insertion(+) commit a90687872319df39f37cb55bf8a06d7d565cfdd7 Author: zhengyuchao@tp-link.com.cn <zhengyuchao@tp-link.com.cn> Date: Mon Nov 13 09:27:39 2023 +0800 add 1.c 1.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
可以发现,就是在master分支的基础上,重新播放了下dev分支上的commit。
即rebase on this branch(master), play that branch(dev)。