Github - 本地存储库已存在。如何创建远程github存储库并与其同步?

时间:2018-01-12 21:13:39

标签: git github version-control

我做的总结

我经常遇到这个问题。

  • 我为项目创建了一个文件夹并开始处理一些实验性代码
  • 如果“实验代码”有效,那么我使用git
  • 为其添加版本控制

到目前为止,一切都是本地的,没有遇到任何问题。

有时我的项目进展得足够远,我想在github上托管它。

我发现这项工作非常令人沮丧。

一种解决方案是创建一个github仓库,将其克隆到一个新目录中,复制所有文件,在新仓库中添加和提交它们,清理旧目录,并从新仓库中推送新更改新文件夹。

  • 然而这是一个痛苦的**。必须有更好的方法

每年都有数百万人遇到此问题,但我无法在谷歌搜索中找到解决问题的任何内容。

无论如何,这是我到目前为止所尝试的:

git remote add origin <url>
git push origin HEAD
git pull origin master
git pull origin master --allow-unrelated-histories
git push origin master
git branch master-2
git checkout master-2
git push origin master-2
git pull origin master
git pull origin master --rebase
git push origin master

这不是很有用,因为它是我的历史记录,我忘记了错误是什么。

当前问题摘要

这里有一些更有用的东西:我的本地和远程回购的状态以及我当前遇到的错误消息:

  • local:在分支master-2上,我有所有文件,包括本地和远程。我无法推送到远程仓库:错误是

    错误:无法将某些引用推送到“URL” 提示:更新被拒绝,因为您当前分支的提示落后 提示:它的远程对应物。整合远程更改(例如 提示:'git pull ...')然后再推。

  • remote:master分支是由github创建的默认git仓库,包括自述文件等

  • remote:master-2分支包含本地和远程

  • 的所有文件
  • local:Checkout master branch:仅存在原始本地文件。我无法推送到远程仓库。错误是:

    ! [拒绝]主人 - &gt;主人(非快进) 错误:无法将某些引用推送到“URL” 提示:更新被拒绝,因为您当前分支的提示落后 提示:它的远程对应物。整合远程更改(例如 提示:'git pull ...')然后再推。 提示:有关详细信息,请参阅“git push --help”中的“关于快进的说明”。

我认为创建一个master-2分支是一个疯狂的追逐。我想删除它。

问题

  • 如何将分支主数据上的工作从本地存储库推送到远程服务器?

  • 如何将新文件从远程仓库下拉到本地?

  • 基本上我想要同步2个repos而不经历制作新文件夹的整个过程并删除旧的文件夹,如上所述。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

当您在GitHub上创建新存储库时,它会告诉您从现有本地存储库中使用它需要做什么。这直接来自GitHub:

  

...或从命令行推送现有存储库

git remote add origin https://github.com/YOURNAME/REPONAME.git 
git push -u origin master

就是这样。

答案 1 :(得分:0)

可以使用belo方式同步本地存储和远程存储(假设保留master分支中的所有文件):

# In your local remote
git remote add origin <github repoURL> -f
git checkout origin/master .
git commit -m 'keep remote files with local files together'
git push -u origin master -f 

现在github repo master分支包含本地repo和原始github仓库中的文件。