Git rebase测试

发布时间 2023-11-13 09:45:51作者: 付时凡

git rebase测试

  1. 初始化仓库

    vim 1.c
    git init .
    git add 1.c
    git commit -m "add 1.c" .
    

    此时为master分支。

  2. 尝试修改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
    
  3. 切换到新分支dev:

    git checkout -b dev
    

    修改并提交:

    git commit -m "modify on dev" .
    
  4. 现在对比两个分支的提交:

    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(+)
    
  5. 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)。