问题:我提交给上游的每个新拉取请求都包含我之前已经合并到上游的拉取请求的提交。请注意,我不是在谈论合并提交。
工作流/示例:
git fetch upstream
git merge upstream/master
git checkout -b new-feature1
# make changes
git commit -am "comment1"
git push
# create the pull request, it gets merged. Now start on another feature
git checkout master
git fetch upstream
git merge upstream/master
git checkout -b new-feature2
# make changes
git add changedfile.py
git commit -m "comment2"
git push
# create the pull request for new-feature2.
# Now the commit history of that PR includes the commits made for new-feature1.
我在这里做错了什么?不确定它是否相关,但也许值得一提的是,我正在同时处理包含未分级更改的多个分支。因此,在上面的示例中,在创建分支new-feature2
时,我有其他分支包含未分级更改/新创建的文件。
基于评论的其他信息:
更多附加信息:这是上游/主人的实际git日志的片段: 作者是我的每一个提交,即这些是在公关合并之后。前两个很好。第二次提交中的要点是我做的个别提交。 问题:这是否意味着回购维护者对PR进行了“挤压和合并”?
在屏幕截图中的最终提交中出现问题。除了实际的“新”提交之外,所有先前的提交都会重复。
好的,所以我可能知道发生了什么。 git push
和git merge upstream/master
之间应该有git checkout -b new-feature2
吗?否则,合并创建的提交(我猜其中还包括来自PR的提交,因为我没有在本地合并PR分支)将包含在新分支中?