如何将更改从一个功能分支复制到派生自同一父分支的另一个功能分支



如何在不丢失更改的情况下将最新更改从发布分支获取到我的分支中?

develop---- A ----------------------------------
|    |
|    my branch----commit A
|
release branch ----- commit A ------ commit B ------

我将向发布分支提出拉取请求,因此我想从发布分支获取最新代码到我的,以尽量减少差异。

有时我需要将文件或目录中的一些更改从分支复制到当前分支,我只需运行此命令。

git checkout SOURCE_BRANCH path/to/dir/or/file.ext

所有差异都是分阶段的,然后您可以提交所有差异。

基本上需要将发布分支合并到分支中,然后解决冲突。

git checkout release_branch
git pull
git checkout my_branch
git merge --squash release_branch

然后,如果存在合并冲突,请解决它们并提交。

由于您将提出拉取请求,因此迟早必须解决合并冲突。

git checkout release_branch
git pull
git checkout mybranch
git merge --squash release_branch
git push origin release_branch

如果您不打算将更改合并回master,这就是全部内容。通常,将所有更改合并回master是一种很好的做法,并在此基础上创建新的分支。

此外,在合并命令之后,您将遇到一些冲突,您必须手动编辑并修复这些冲突。

相关内容

最新更新