git 复制本地文件夹覆盖在线仓库

git copied local folder overwrite online repo

所以我复制了一个本地 git 文件夹,并在其中做了很多更改。我想用这个新的覆盖在线存储库(所以基本上用前一个删除 link,然后将这个新的复制到在线存储库并从那里开始)。

到目前为止我试过:

git push -f origin master

这就是我想要的(看起来)。但是现在如果我想推送,我首先会收到消息:

 git push --set-upstream origin master

然后在这样做之后: 错误:无法将某些引用推送到 'git@bitbucket.org:**************' 提示:更新被拒绝,因为远程包含您所做的工作 提示:本地没有。这通常是由另一个存储库推送引起的 提示:相同的参考。您可能希望首先集成远程更改 提示:(例如,'git pull ...')再次推动之前。 提示:详见'git push --help'中的'Note about fast-forwards'。

我明白这是因为我的其他文件夹有干扰?但是我不敢把repo拉进来,因为它会覆盖我的本地文件夹?

所以我尝试删除原始文件夹中的 git,但这没有帮助。

现在我的问题是:如何用这个新的本地存储库覆盖在线存储库并从那里开始?

感谢您的帮助!

所以,我最终做了一个备份。 那我运行

git pull

完成后

git push --set-upstream master origin

我可以毫无问题地推送和提交!

OP 已经回答了这个问题,但这不是 git 中做事的正确方法。因此,建议采用普遍遵循的方法


您可以按照以下步骤进行

1) 做 git pull

2) 如果存在冲突,它可能会要求您提交或隐藏更改。如果没有,则跳过步骤 3

3) 如果是,则执行 git stash,然后执行 git pull

4) 如果你已经隐藏(第 3 步)那么你需要在 git pull 之后做 git stash pop 否则跳过这一步

5) 经过上述步骤后,您可能会或可能不会发生冲突。如果你没有遇到冲突,那你就足够幸运了。如果你这样做,那么解决冲突然后提交它

6) 现在你可以做 git push

您可以为您的新代码添加分支。 所以 master 分支的代码不会覆盖你的代码。

提交分支后,您可以看到分支之间的差异。