我感觉我缺少Git的一些基本知识,但是有什么方法可以移动分支的起源?我经常遇到这样一个场景:我从master创建了一个功能分支,处理了几天,然后去推它,我需要确保添加到master的所有更改都需要合并/重新定位到我的分支。这似乎使我的分支非常混乱。我想我可以简单地将分支的起源更改为现在的主节点,就好像我刚开始创建分支一样(但显然,我需要处理所有出现的冲突)。有没有办法做到这一点或其他一些方法来保持我的分支干净?
我希望能够从以下位置切换:
a--b--d--f
\
c--e--g
到
a--b--d--f
\
c--e--g
编辑:
最近,为了模拟这一点,我一直在使用临时分支,当我的工作完成时,我将创建一个新分支,并将所有提交移至该分支,然后重新提交并推送。如果拉取请求审核需要一段时间,则效果会不太好。我最近还尝试过进行git pull --rebase upstream master
,然后将master合并到分支中。这增加了其他人对我分支的投入。我以为合并使事情搞砸了,但是在推送并检查请求请求之前我没有意识到。