所以我复制了一个本地git文件夹,并对其进行了很多更改。我想覆盖这个新的在线仓库(所以基本上删除与前一个的链接,并将这个新的一个复制到在线仓库并从那里开始)。
到目前为止,我试过了:
git push -f origin master
这就做了我想要的(似乎)。但是现在如果我想推动,我首先得到的信息是:
git push --set-upstream origin master
然后这样做: 错误:未能将某些参考文献推送到' git@bitbucket.org: **************' 提示:更新被拒绝,因为遥控器包含您所做的工作 提示:没有本地。这通常是由另一个存储库推送造成的 提示:对同一个参考。您可能希望首先集成远程更改 提示:(例如,' git pull ...')再次推送之前。 提示:请参阅关于快进的说明'在' git push --help'详情。
我明白这是因为我的其他文件夹干扰了吗?但是我害怕把它们拉进去,因为它会覆盖我的本地文件夹?
所以我尝试删除原始文件夹中的git,但这没有帮助。
所以现在我的问题是:如何用这个新的本地仓库覆盖在线仓库并从那里开始?
感谢您的帮助!
答案 0 :(得分:2)
您可以按照以下程序
1)做git pull
。
2)如果存在冲突,它可能会要求您提交或存储更改。如果没有,则跳过第3步
3)如果有,则执行git stash
后跟git pull
。
4)如果你被隐藏(第3步),那么你需要在git stash pop
之后git pull
或者跳过这一步
5)经过上述程序,您可能会或可能不会发生冲突。如果你没有发生冲突,那么你很幸运。如果你这样做,那么解决冲突,然后提交
6)现在你可以做git push
答案 1 :(得分:0)
所以,我最终做了一个备份。 然后我跑了
git pull
完成后
git push --set-upstream master origin
我能够毫无问题地进行推送和提交!
答案 2 :(得分:0)
您可以为新代码添加分支。 所以master分支的代码不会覆盖你的代码。
提交分支后,您可以看到分支之间的差异。