基本上,由于我无法控制的事件,我的远程仓库被移动了——与此同时,我在本地副本上做了很多工作,现在我真的只想用我的本地文件覆盖远程仓库中的所有内容。
但是,我似乎无法做到这一点。我能得到的最接近的是拉和合并,但它想引导我完成一些复杂的合并过程。我不想合并。我想覆盖。我不需要一个新的分支——基本上,我只想要一个新的开始。
远程仓库处于 unfuddle 状态。
您可以删除分支并重新创建它,假设您要覆盖的分支是dev
:
删除远程主机(github)中的分支
git push origin :dev
然后再次推动你的开发:
git push origin dev
我使用 Github 进行托管,不熟悉 unfuddle,但我认为它也适用于 unfuddle。:)
正如@melee 提到的,您也可以使用
git push origin dev -f
(不确定是否-f
有效,但--force
可以)
git push origin dev --force
强制覆盖分支。我记得我以前做过。谢谢@melee。:)
一直有同样的问题。这个命令对我有用。
git push --set-upstream origin master --force
如何为 master 分支执行此操作,而不从远程 repo 中提取数据:
创建一个新文件夹,初始化 git,添加远程仓库 - 不要拉取或获取!
mkdir clean_repo
git init
git remote add origin <remote-repo>
创建(并切换到)空的本地分支,添加、提交并将测试文件推送到其中。
git checkout test
echo "test" > test
git add .
git commit -m "adding test"
git push origin:test
在 github/bitbucket 上,将默认分支更改为新分支
在本地,切换到主分支,提交并推送到远程仓库/分支
git checkout -b master
git push origin --mirror
我不是 github 生态系统的专家,但你为什么不能重置你的远程存储库 url?
git remote set-url origin /path/to/your/new/remote/repository/url
您可能还需要通过查看此处来配置您的上游分支。
更多信息git remote...
,请看这里。