如何使用sourcetree + git将一个分支的最新推送变基到另一个分支上

我们在使用git时候,有时候可能会在某个分支上开发完新的功能,或者在推送时候将本该推送到原有分支上的内容推错了远程分支,但是原来的远程分支因为别人的操作有了新的更新,这时候就需要通过 ’交互式变基‘ 将该功能同步到原有分支上。用大写字母表示分支名称,用小写字母表示节点内容,举例如下:

如何使用sourcetree + git将一个分支的最新推送变基到另一个分支上_第1张图片

 

原有分支为A,在A上一直推送,有a节点,b节点,但是在b节点推送后,再次推送时候,推错了远程分支,推到了B分支上,然后git的树就变成了下面这样:

如何使用sourcetree + git将一个分支的最新推送变基到另一个分支上_第2张图片

但是此时因为别人的推送操作,远程分支又有了新的更新,所以拉取后,树就变成了下列这样:

如何使用sourcetree + git将一个分支的最新推送变基到另一个分支上_第3张图片

此时为了保持原有树的完整,我们就需要将推送错到B分支的d节点的内容同步到A分支上面,

如何使用sourcetree + git将一个分支的最新推送变基到另一个分支上_第4张图片

我们此时就需要  ‘交互式变基‘ 功能了

首先,我们要先在本地,检出分支到B分支的最新节点,即Bd节点,然后在Ac节点上右键,选择  “交互式变基···”(‘变基’ 也可完成该功能,但是就不能修改comment了)然后,就可在弹出的对话框中通过双击之前的comment(‘描述’),进行修改 ‘描述’,然后点击弹框右下方的确定,就会提交,然后树就会变成下方这样:

如何使用sourcetree + git将一个分支的最新推送变基到另一个分支上_第5张图片

然后再次推送到A分支(原本应推送的正确分支)的远端就可完成功能的同步。

 

 

 

你可能感兴趣的:(gitlab,sourcetree)