当前位置: 首页 > 知识库问答 >
问题:

为什么我需要显式地推送一个新分支?

楚弘益
2023-03-14

我是git的新手,我正在练习。我创建了一个本地分支,但我发现当我执行Git Push时,我的分支没有上传到存储库。我实际上必须做:Git push-u origin-all
这是为什么?分支不是默认要推送的新变化吗?为什么我需要运行第二个命令?

共有1个答案

岳阳文
2023-03-14

实际原因是,在一个新的repo(git init)中,没有分支(没有master,根本没有分支,零分支)

所以当你第一次推到一个空的上游回购(一般是裸的),那个上游回购没有同名的分支。

和:

    null
  • 还没有匹配的命名分支
  • 根本没有上游分支(有没有同名!跟踪与否)

这意味着你的本地第一推不知道:

  • 在何处推送
  • 要推送的内容(因为它找不到任何被记录为远程跟踪分支和/或具有相同名称的上游分支)
git push origin master

但如果你只这样做,你:

  • 将在上游(现在为非空回购)上创建上游分支:良好。
  • 不会记录本地分支“”需要推送到上游(起源)“”(上游分支):错误。

这就是为什么建议在第一次推送时执行以下操作:

git push -u origin master

这将把Origin/Master记录为远程跟踪分支,并将使下一次推送自动将Master推送到Origin/Master

git checkout master
git push

这也适用于推送策略“当前”或“上游”。
在每种情况下,在初始的git push-u origin master之后,一个简单的git push将足以继续将master推送到右侧上游分支。

 类似资料:
  • 问题内容: 这就是我遇到问题的方式。我举一个例子: 这可以。现在,我想通过扩展创建一个子类。所以我写道: 一写完,Eclipse中就出现了一个十字架,单击它,我发现了一条消息: 我用谷歌搜索了问题并添加了 Eclipse也建议这样做。现在我有两个问题。 为什么必须强制使用构造函数?AFAIK不需要创建构造函数,因为JAVA编译器会自动创建默认构造函数以继续其操作。同样从消息中,似乎还需要一个默认的

  • 本文向大家介绍为什么我们需要一个数据库,包括了为什么我们需要一个数据库的使用技巧和注意事项,需要的朋友参考一下 数据库是数据的集合,通常以电子形式存储。数据库的设计通常是为了使其易于存储和访问信息。 好的数据库对任何公司或组织都至关重要。这是因为数据库存储了有关公司的所有相关详细信息,例如员工记录,交易记录,工资详细信息等。 数据库重要的各种原因是- 管理大量数据 数据库每天存储和管理大量数据。使

  • 问题内容: 我的问题就像标题说的那样:为什么我们需要9个补丁的图像?他们真的那么重要吗?其实,他们真正在做什么?我没有清楚地了解9色块图像的概念。 我知道9补丁图像是可伸缩的。因此,假设我有一些完全适合我的ldpi设备的图像按钮。使用Draw 9-patch工具(android SDK的一部分),我可以标记可缩放区域,并且该图像非常适合hdpi甚至xhdpi设备。边缘会很光滑。 但这真的是很好的实

  • 问题内容: 如果我们使用ExecutorCompletionService,则可以将一系列任务作为s 提交,并将结果作为进行交互。 但也有在的,它接受一个任务,我们得到的名单,以检索结果。 据我所知,使用一个或多个都不会有任何好处(除了我们避免使用循环,否则我们将不得不对任务进行操作),并且基本上它们是相同的想法,只是稍有不同。 那么,为什么有两种不同的方式提交一系列任务呢?我在性能上正确吗?有没

  • 我在这里(有点)了解jdk 5 Reentry antLock的功能 但为什么我们想要一个“再进入者”锁呢?i、 e如果一个线程已经锁定了一个对象,为什么它需要再次获取它?

  • 我是Hadoop和编程的新手,我对Avro模式演变有点困惑。我将解释到目前为止我对Avro的理解。 Avro是一种串行化工具,它存储二进制数据,其json模式位于顶部。模式如下所示。 现在我的问题是为什么我们需要进化?我已经了解到,我们可以在新字段的模式中使用<code>default</code>选项;但是,如果我们在文件中添加一个新的模式,早期的模式将被覆盖。一个文件不能有两个架构。 另一个问