我创建了一个具有多个更改的远程特性分支。我对远程分支进行了多次更新,以保持它的最新。我做了合并,而不是重新基地,以避免强行推动远程分支后,重新基地。
我要把远程分支合并回主人那里。首选的方法是什么?我想要一个远程分支的所有变化的线性历史。
我做了git重基-i主线--它只显示远程分支中的提交,而不显示合并提交(提交,也就是说将主干线合并到远程)。即使将主线合并到远程分支,我也可以使用rebase吗?我是否可以使用下面的工作流将更改合并回主。
git checkout remote-branch
git merge master
git push remote随着远程分支和主控的进展,多次执行此操作。
当是时候合并回主线时
git checkout remote-branch
git rebase -i master
(it is showing only the commits in remote branch without showing merge commits)
picking up and squashing commits..
git checkout master
git merge remote
git push 这个工作流有效吗?
发布于 2022-05-21 06:18:56
我做了合并而不是重基,以避免在重基之后强行推动远程分支。
如果您已经执行了强制推动,除非您做了一个已经被推送的压缩提交,否则您正在做一些错误的事情。
通常的行为是对项目进行一次获取,然后将一个重基放到主线上,因此您可以将您的更改放在它之上。
发布于 2022-05-22 12:35:33
图片显示的是一个壁球合并。
GitHub为您提供了一个按钮,作为关闭已接受的拉请求的选项。在你的本地机器上没什么需要做的。只需单击GitHub网页浏览器界面中的按钮,选择南瓜和合并选项即可。

如果您不是使用拉请求,而是要在本地机器上合并,您可以说是merge --squash。但是,当您一直将此功能分支称为“远程”时,我更怀疑您应该使用拉请求。
https://stackoverflow.com/questions/72327026
复制相似问题