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)
- 第一部分:Git的基本操作
- 第一章:git软件的安装
- 第一节:在centos6.8上安装git-2.3
- 第二节:在windows上安装git-bash和TortoiseGit软件
- 第二章: Git的基本概念
- 第一节:git的基本操作
- 第二节:git的深入理解(内部运行机制)
- 第三章:git的文件管理
- 第一节:文件的添加及提交
- 第二节:文件的删除、回退等
- 第三节:忽略指定格式的文件
- 第四节:撤销本地仓库的修改
- 第四章:git的commit对象深入理解
- 第一节:查看提交历史(git log)
- 第二节:提交查找(git grep)
- 第三节:git版本库回退
- 第五章: Git分支管理
- 第一节:分支的概念及基本使用
- 第二节:Git分支管理策略
- 第三节:Git分支合并
- 第四节:推送本地分支到远程分支
- 第七章: Git常用命令详解
- 第一节:git fetch命令
- 第二节:git pull命令
- 第三节:git push命令
- 第四节: git merge命令
- 第五节:git rebase命令
- 第八章:远程仓库管理
- 第二部分: gitlab版本控制系统
- 第一节:"远程仓库”版本回退解决方案
- 第二节:远程分支和本地分支
- 第九章:Git冲突解决
- 第十章:客户端操作
- 第十章:git常规操作
- 第一章:安装gitlab服务器
- 第一节:在centos系统上安装
- 第二章:配置GitLab服务器
- 第一节:关闭gitlab注册功能
- 第二节:在gitlab上创建项目、组、用户
- 第三节:汉化gitlab
- 第四节:gitlab配置邮箱通知
- 第五节:gitlab配置https访问
- 第三章:使用过程常见的故障
- 第三部分: gogs版本控制系统
- 第一章:在centos6上基于二进制包安装gogs软件
- 第二章:gogs服务器的配置
- 第一节:gogs服务器上创建项目、用户
- 第二节:nginx反代gogs,通过https
- 第三节:gogs启动脚本
- 第四节:git保存密码到本地
- 第三章:gogs服务器的备份和恢复
- 第一节:gogs备份操作