Git rebase测试
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.ma@gmail.com> Date: Mon Nov 13 09:28:38 2023 +0800 modify 1.c commit a90687872319df39f37cb55bf8a06d7d565cfdd7 Author: adam.zheng@gmail.com <adam.ma@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: adam.ma@gmail.com <adam.ma@gmail.com> Date: Mon Nov 13 09:32:12 2023 +0800 modify on master 1.c | 1 + 1 file changed, 1 insertion(+) commit c2e038447c278fe21bb3f6eb66710269a78c3eeb Author: adam.ma@gmail.com <adam.ma@gmail.com> Date: Mon Nov 13 09:28:38 2023 +0800 modify 1.c 1.c | 1 + 1 file changed, 1 insertion(+) commit a90687872319df39f37cb55bf8a06d7d565cfdd7 Author: adam.ma@gmail.com <adam.ma@gmail.com> Date: Mon Nov 13 09:27:39 2023 +0800 add 1.c 1.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)dev: commit 0ba2902ace62af877ea7d63a170bd8b76bdcf684 Author: adam.ma@gmail.com <adam.ma@gmail.com> Date: Mon Nov 13 09:29:43 2023 +0800 modify on dev 1.c | 1 + 1 file changed, 1 insertion(+) commit c2e038447c278fe21bb3f6eb66710269a78c3eeb Author: adam.ma@gmail.com <adam.ma@gmail.com> Date: Mon Nov 13 09:28:38 2023 +0800 modify 1.c 1.c | 1 + 1 file changed, 1 insertion(+) commit a90687872319df39f37cb55bf8a06d7d565cfdd7 Author: adam.ma@gmail.com <adam.ma@gmail.com> 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: adam.ma@gmail.com <adam.ma@gmail.com> Date: Mon Nov 13 09:29:43 2023 +0800 modify on dev 1.c | 1 + 1 file changed, 1 insertion(+) commit 0c65a1cbc57468b823d5b561f123836ae57169ef Author: adam.ma@gmail.com <adam.ma@gmail.com> Date: Mon Nov 13 09:32:12 2023 +0800 modify on master 1.c | 1 + 1 file changed, 1 insertion(+) commit c2e038447c278fe21bb3f6eb66710269a78c3eeb Author: adam.ma@gmail.com <adam.ma@gmail.com> Date: Mon Nov 13 09:28:38 2023 +0800 modify 1.c 1.c | 1 + 1 file changed, 1 insertion(+) commit a90687872319df39f37cb55bf8a06d7d565cfdd7 Author: adam.ma@gmail.com <adam.ma@gmail.com> Date: Mon Nov 13 09:27:39 2023 +0800 add 1.c 1.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)可以发现,就是在master分支的基础上,重新播放了下dev分支上的commit。 即rebase: play that branch(dev) on this branch(master),。 
 当然,可能会遇到merge conflict的,一般的处理方法为:
- 修改conflict的文件
- git add xxxx
- git rebase --continue
 如果不想处理,可以git rebase --abort,退出完整的rebase过程;或者git rebase --skip,跳过rebase这个commit
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号