如何有效地进行git重设基础

如何有效地进行git重设基础,git,github,Git,Github,我一直沿着这条路径将我的更改推送到功能分支 git checkout -b feature-branch <make changes and commit> git push origin feature-branch ... git checkout master git pull git checkout feature-branch git rebase master <resolve conflicts> git push origin feature-branc

我一直沿着这条路径将我的更改推送到
功能分支

git checkout -b feature-branch
<make changes and commit>
git push origin feature-branch
...
git checkout master
git pull
git checkout feature-branch
git rebase master
<resolve conflicts>
git push origin feature-branch -f
git签出-b功能分支
git推送源功能分支
...
切换到主分支
吉特拉力
git签出特性分支
git重基主控器
git推送原点功能分支-f

每个人偶尔都会遇到这样的问题,我的PullRequest最终会有来自其他分支(已经合并到master)的提交

为了避免这种情况,我开始使用
git merge master
,但它添加了我不喜欢的
merge
commit


是否有人可以帮助我了解如何避免来自其他分支的提交出现在我的分支中

这不是它应该如何工作的;)我做过类似的工作流程,从未经历过这种情况。您有关于正在出现的提交的任何信息吗?他们有不同的提交散列吗?我使用的工作流是git fetch;git rebase origin/master仍处于
功能分支中时
“我面临的问题是,我的PullRequest最终有来自其他分支的提交(已合并到master)“您是向master还是向其他分支打开这些拉请求?您需要跟踪这些其他提交来自何处。一下子,我可以想到以下原因1)有人用强力推动(巨大的红旗)重写了
master
的历史。团队中的其他人也会遇到同样的问题,而且很可能会有同样的承诺。任何人这样做都是错误的,需要改变。2) 您正在将其他分支合并到功能分支中。此项由您承担-您正在使用的
rebase
过程中不允许使用此项。3) 您的
功能分支
不基于master。你觉得这些听起来有什么可能吗?@DaveShaw——就你的观点而言,我实际上指示我的同事们很少开发或掌握结帐,这样他们就不会意外地使用旧版本的结帐/重新建立基础。只要随时取用origin就行了!看一看哪个选项描述了一种使用
rere
缓存来记住您的解决方案,同时保持固定的分支起点,同时准备好“合并”。此外,您也没有说明上游“原始/主”维护人员将什么用作他们的首选工作流(始终是一个良好的开端;-)。