使用全新的文件集替换现有的个人仓库主数据

时间:2017-08-11 09:50:05

标签: git github bitbucket

我有一个个人git存储库。我想用一个全新的项目替换现有的远程主文件(在github或bitbucket上)(对同一个项目的新尝试)。

我在计算机上删除了项目的现有文件夹。然后我为新尝试创建了一个新文件夹和一些新文件。

如何使用这些新文件替换现有的远程主控?

在新文件夹中,我完成了git initgit add .git commit -m "a completely different attempt"。但那我该怎么办?我尝试使用git remote add origin git@bitbucket.org:username/repo.gitgit push origin master,但这会出现错误消息(我尝试按照错误消息中提出的建议,但这只会导致新的错误消息)...

1 个答案:

答案 0 :(得分:2)

当您提出涉及错误消息的问题时,如果您在问题中包含确切的错误消息,则会有所帮助。鉴于您正在做什么(尝试用您的本地存储库替换远程存储库的历史记录),您可能会看到以下错误:

To github.com:larsks/someproject.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:larsks/someproject.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这是因为您尝试替换历史记录,而不是简单地使用一组新的更改来更新它。这不是您想要的意外,因为它会导致数据丢失(即项目的部分或全部历史记录)。但是,这正是您想要的,因此您需要使用--force-f)选项:

git push -f

这应该导致类似:

[...]
+ 2a49b3d...3d1e101 master -> master (forced update)

另一种解决方案当然是删除然后重新创建远程存储库。