我意外地从我的回购分支的主分支创建了一个拉取请求。
在试图改变它时,我注意到所有这些变化都被推入了拉取请求中 - 因为你可以简单地Add more commits by pushing to the master branch on username/repo
我看到你可以编辑基本分支,但这显然不是我想要的。
答案 0 :(得分:6)
AFAIK,您无法在创建Pull请求后更改源分支。你必须改为创建一个新的。
为了将来参考,建立的最佳实践是在进行任何提交之前创建一个新分支。你不应该直接承诺掌握,特别是在为团队项目做贡献时。
旁注:
你可以通过推送到username / repo
上的主分支来简单地添加更多提交
更准确地说,对PR的目标分支的任何更改都会自动包含在PR中。
答案 1 :(得分:2)
由于无法更改github中的源分支(只能更改目标分支),因此需要“就地”更新源分支。
此答案包含执行此操作的三种方法。
在 Github 中,您会看到:
<块引用>githubuser 想从“source-branch”合并 N 个提交到 master
既然你会改变“source-branch”的历史,请确保没有其他人在使用这个分支!
如果您是唯一一个在此分支上开发的人,那么您可以使用 Get-ChildItem -Path 'C:\Users\Desktop\mro' | Copy-Item -Destination 'C:\Users\Desktop\shi_data9' -Recurse -Container -Filter "*Touch*"
和更高版本的 git rebase -i
。
这样你就可以重写这个分支的历史了。
关于重写 git 历史的文档:https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
如果您更喜欢从头开始。
git push --force-with-lease
想象一下你的分支“source-branch”意外地基于“release”而不是“master”。但是 github 目标分支是“master”。通过这种方式,您可以将更改更改为在 master 之上:
git checkout master
# create a temporary branch
git checkout -b tmp-branch
... now modify the tmp-branch the way you want to. Commit, but don't push.
# rename tmp-branch to "source-branch"
git branch -f -m source-branch
# Be sure nobody is using "source-branch", since the history gets rewritten.
git push --force-with-lease
答案 2 :(得分:0)
无法更改源分支,但您可以尝试一些解决方法:
答案 3 :(得分:-3)