【问题标题】:Git - push to remote repository failedGit - 推送到远程存储库失败
【发布时间】:2016-11-13 01:42:55
【问题描述】:

好的,我是 Git 的新手,我遇到了无法自己解决的问题,即使花了几个小时在这里和那里阅读具有类似问题的主题。 我将尝试详细描述它:

我的 github 存储库的名称是 rep_1

在 rep_1 中有 5 个文件夹 (1,2,...,5),每个文件夹中都有 index.html。我创建了新文件夹“工作”,我 git clone <url> 我的分叉回购。在文件夹 1/index.html 中,我使用 git initgit add .git commit -m 进行了一些更改。

然后我用git remote add 1 https://github.com/username/rep1之后,

git push 1

我得到了:

fatal:当前分支 master 没有上游分支。推动当前 分支并将远程设置为上游,使用 git push --set-upstream 1 master

我也用过,但没有用。得到这个时间:

fatal:当前分支 master 没有上游分支。推动当前 分支并将远程设置为上游,使用 git push --set-upstream 工作大师

也不行。

找不到仓库

我也试过git push -u rep_1 并得到同样的错误。我不知道该怎么办。

【问题讨论】:

  • 也许 1 对于存储库引用来说真的不是一个好名字?此外,您似乎在混合东西。 1 是文件夹、repo 引用还是分支?你需要git remote add myRepo ...; git push myRepo master
  • 您是否尝试删除 .git 文件夹并重新开始?还要确保使用 git checkout branch_name 切换到正确的分支
  • 我认为您的步骤非常错误,并且正如 Ondra 所建议的那样混淆了。你能说出你的实际要求是什么吗?您希望在您的问题中发生什么,我们可以建议需要遵循哪些步骤。

标签: git github version-control


【解决方案1】:

在 rep_1 中有 5 个文件夹 (1,2,...,5),每个文件夹中都有 index.html。我创建了新文件夹“工作”,并 git 克隆了我的分叉存储库。在文件夹 1/index.html 我使用了 git init 和 git add 。和 git commit -m 进行一些更改。

这里你说你已经克隆了一个 repo。稍后您将使用 git init 初始化一个新的存储库。因此,当您这样做时,此存储库与您克隆的存储库完全不同。因此,您将无法推送到现有存储库(我假设您要添加的远程是您克隆的存储库。)

话虽如此,如果你能说出你的要求是什么,我可以建议需要遵循哪些步骤。

【讨论】:

    【解决方案2】:

    基本上,git 会从当前文件夹到上层文件夹搜索存储库信息(通常是 .git),直到找到一个 .git。

    对于您的问题,将使用您在文件夹 1 中创建的本地存储库。所以你不能通过这个本地信息推送到远程。

    不建议在其他仓库的工作目录下新建仓库。

    【讨论】:

      【解决方案3】:

      您不能在子文件夹中克隆相同的 repo。无法推送的原因如下:

      1. 你在文件夹/work中克隆了你的rep_1,所以你在目录/work/rep_1中的本地repo
      2. 在文件夹 /work/rep_1/1 中,您使用 git init 创建了一个新的本地 repo 并对其进行了一些更改
      3. 然后您添加远程仓库 rep_1 并希望将内容推送到文件夹 /work/rep_1/1。但请记住,/work/rep_1/1 是步骤 1 中本地 repo 的子文件夹,您还有文件夹 /2、/3、/4、/5。
      4. 有一个有趣的事情是,如果你使用git pull --allow-unrelated-histories,然后转到目录/work/rep_1 使用git status,你会发现你在/work/rep_1/1 中所做的更改都显示在这里
      5. 所以你使用git push 1,它确实会检查/work/rep_1 中的状态,并将HEAD 的SHA-1 与远程进行比较
      6. 如果需要推送更改,可以直接在/work/rep_1进行

      【讨论】:

        【解决方案4】:

        你只需要进入你已经克隆的存储库文件夹“rep_1”然后运行

        git add *
        git commit -m "x"
        git push
        

        将您在 5 个文件夹中所做的所有更改推送到远程存储库。

        【讨论】:

          猜你喜欢
          • 2012-02-22
          • 2018-05-02
          • 2018-06-24
          • 2010-10-25
          • 1970-01-01
          • 2020-11-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多