我按照this SO question中给出的说明将最近提交的更改移动到了分支。
简而言之,我在当地的回购中做了以下事情,
git branch newbranch
git reset --hard HEAD~3 # Go back three commits
git checkout newbranch
我的远程仓库(只有我访问过)仍然在master中提交。
我目前无法将更改推送到远程,因为本地仓库缺少一些提交,并要求我通过拉动合并更改。
如何让远程仓库反映新分支?
答案 0 :(得分:1)
您可以使用-f
标志强行推送到远程仓库。
git push -f
-f, - force
通常,该命令拒绝更新不是的远程引用 用于覆盖它的本地ref的祖先。此标志禁用 支票。这可能导致远程存储库丢失提交; 小心使用它。
答案 1 :(得分:1)
如果您推送到的远程存储库已使用
正确初始化git init --bare --shared
然后
git push -f
仍然会失败,因为git配置文件将包含
[receive]
denyNonFastforwards = true
您尝试推送的提交是非快进提交,因此您需要更改行为(至少暂时)以允许非快进提交。我通常只是取消注释上面的行,但你可以使用官方的git配置界面。