企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
git rebase命令 功能:在另一个分支基础之上重新应用,用于把一个分支的修改合并到当前分支。 案例: 1)假如基于远程分支 master ,创建了一个mywork分支 [root@static Pet_ios]# git checkout -b mywork origin/master 现在我们在这个分支(mywork)做一些修改,然后生成两个提交(commit). [root@static Pet_ios]# git add .;git commit -m "file" [mywork 6344bab] file 2 files changed, 2 insertions(+) create mode 100644 file.txt create mode 100644 otherfile.txt [root@static Pet_ios]# vim file1.txt [root@static Pet_ios]# git add .;git commit -m "file1" [mywork 147cf2e] file1 1 file changed, 1 insertion(+) create mode 100644 file1.txt 但这个时候,有些人也在origin/master分支上也做了相应的修改,比如 [root@static Pet_ios]# git add . ; git commit -m "add file2" [master 0e7d551] add file2 1 file changed, 1 insertion(+) create mode 100644 file2.txt [root@static Pet_ios]# vim file3.txt [root@static Pet_ios]# git add . ; git commit -m "add file3" [master 4479769] add file3 1 file changed, 1 insertion(+) create mode 100644 file3.txt [root@static Pet_ios]# git push origin master 接下就有2种方式 第一种:通过git merge 1)先用git pull把远程master分支拉取到本地 [root@static Pet_ios]# git pull origin master [root@static Pet_ios]# git checkout mywork [root@static Pet_ios]# git merge master ![](https://box.kancloud.cn/5871f046f7bf8ad18691dbb74870636e_551x317.png) 2)通过git rebase 如果你想让”mywork“分支历史看起来像没有经过任何合并一样,也可以用 git rebase,如下所示: [root@static Pet_ios]# git rebase origin/master First, rewinding head to replay your work on top of it... Applying: file Applying: file1 [root@static Pet_ios]# git status On branch mywork Your branch is ahead of 'origin/master' by 2 commits. (use "git push" to publish your local commits) nothing to commit, working directory clean ![](https://box.kancloud.cn/ae08935c84e4d505dd5e6f82a9d1dbc0_732x648.png) ![](https://box.kancloud.cn/07d166101f5a105c26393c8bc464bd6b_772x677.png)