我已经分叉了另一个repo来为它创建pull请求。在此描述的时期内,没有其他人为该回购做出贡献。
我的第一次提交我作为拉取请求提交给远程仓库。这是被接受的。我的第二个拉取请求有错误需要修复,但这需要将文件恢复到以前的状态,因为问题是我打破格式化,因为我的编辑器将它们更改为不同的格式。
这似乎是我可以使用rebase的东西。但是,当我使用" git rebase upstream / master"在检查了我的主分支时,我被告知"当前的分支主管是最新的。"我的分支目前是上游之前的一个提交,我对rebase的理解是它应该将我的分支上的HEAD移动到我反对的分支上的最后一次提交。
虽然reading the documentation看到我做错了什么,但我发现" git reset --hard"应该做同样的事情。所以我做了" git reset - hard upstream / master"这具有将HEAD移动到我公认的拉动请求的预期效果。
我的问题是,鉴于两者都应该做同样的事情,为什么我会得到不同的结果?
答案 0 :(得分:0)
然而,当我在检查主分支时使用“git rebase upstream / master”时,我被告知“当前分支主机是最新的”。
这会在master
之上重播upstream/master
,这意味着无所事事,因为upstream/master
提交已经是master
的一部分。
通常,当您提交PR时,您希望确保这些是在最新的上游主分支之上完成的,这意味着更新的原始仓库(已分叉)
git checkout my_PR_branch
git fetch upstream
git rebase upstream/master
这假设你的公关是在一个分支而不是master
完成的
如果你的公关是在master
完成的,那么:
master
创建一个分支:git branch mypr
; git push -u origin mypr
; #从该分支机构制作新的PR。origin/master
:git fetch
和git reset --hard origin/master
。