Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Github-本地存储库已存在。如何创建远程github存储库并与之同步? 我所做的总结_Git_Github_Version Control - Fatal编程技术网

Github-本地存储库已存在。如何创建远程github存储库并与之同步? 我所做的总结

Github-本地存储库已存在。如何创建远程github存储库并与之同步? 我所做的总结,git,github,version-control,Git,Github,Version Control,我经常遇到这个问题 我为一个项目创建了一个文件夹,并开始编写一些实验代码 如果“实验代码”有效,那么我将使用git向其添加版本控制 到目前为止,一切都是本地的,没有遇到任何问题 有时我的项目进展得足够快,以至于我想在github上托管它 我发现这项工作非常令人沮丧 一种解决方案是创建github repo,将其克隆到新目录中,复制所有文件,在新repo中添加并提交它们,清理旧目录,并将新repo中的新更改推送到新文件夹中 然而,这是一个痛苦的a**。一定有更好的办法 每年都有数百万人会遇

我经常遇到这个问题

  • 我为一个项目创建了一个文件夹,并开始编写一些实验代码
  • 如果“实验代码”有效,那么我将使用git向其添加版本控制
到目前为止,一切都是本地的,没有遇到任何问题

有时我的项目进展得足够快,以至于我想在github上托管它

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

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

  • 然而,这是一个痛苦的a**。一定有更好的办法
每年都有数百万人会遇到这个问题,但我在谷歌搜索中找不到解决这个问题的任何东西

不管怎样,这就是我迄今为止所尝试的:

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
git远程添加源
吉特推原点头
git拉源主机
git pull原始主机--允许不相关的历史记录
git推送源主机
git分支master-2
git checkout master-2
git推送源主机-2
git拉源主机
git拉原点主控器--重基
git推送源主机
这不是很有用,因为这是我的历史记录,我已经忘记了错误是什么

当前问题概述 以下是更有用的信息:我的本地和远程回购的状态以及我当前遇到的错误消息:

  • 本地:在branch master-2上,我有所有文件,包括本地和远程文件。I无法推送到远程回购:错误为

    错误:无法将某些引用推送到“URL” 提示:更新被拒绝,因为当前分支的提示已过期 提示:它的远程对应项。集成远程更改(例如。 提示:“git pull…”),然后再推

  • 远程:主分支是github创建的默认git repo,包括自述等

  • 远程:master-2分支包含来自本地和远程的所有文件

  • 本地:签出主分支:仅存在原始本地文件。I无法推送到远程回购。错误是:

    !![已拒绝]主机->主机(非快进) 错误:无法将某些引用推送到“URL” 提示:更新被拒绝,因为当前分支的提示已过期 提示:它的远程对应项。集成远程更改(例如。 提示:“git pull…”),然后再推。 提示:有关详细信息,请参阅“git push--help”中的“关于快进的说明”

我认为创建master-2分支有点像白费力气。我想删除它

问题
  • 如何将分支主机上的工作从本地回购推送到远程

  • 如何将新文件从远程repo拉到本地repo

  • 基本上,我想同步2个回购协议,而不必像上面所描述的那样经历创建新文件夹和删除旧文件夹的整个过程。我该怎么做


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

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

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

仅此而已。

To可以使用belo方式同步本地回购和远程回购(假设将所有文件保留在
分支中):

#在本地远程
git远程添加源-f
git签出源/主。
git commit-m“将远程文件与本地文件保持在一起”
git推送-u源主机-f

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

是否要将本地repo推入非空github repo?您需要保留本地回购的历史记录,还是只将文件添加到github回购而不保留本地回购的提交历史记录?@MarinaLiu MSFT是的,两个回购都不是空的。至于历史,我可能不需要保存它们。我可能也不需要保留所有分行,但如果回购协议中不止一家分行,那么显然最好保留它们。我添加了一个答案,将文件保存在一起(只保留本地历史),您可以尝试一下。
# 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