设置新分支的上游

时间:2017-10-02 18:19:35

标签: git github version-control

好吧!我创建了一个分支prac。我正在做我的改变,承诺并将它们与主人合并。

简而言之,这就是我通常为我的工作流程所做的工作,包括两个分支,即Master和Prac。每当我想做某事时,我都会在prac分支中编码

  1. git checkout prac

  2. git添加任何东西,git commit -m"所以n so"

  3. git checkout master

  4. git merge prac

  5. 我不会删除我的分支通常是一个心态,我总是有一个分支练习和掌握最终代码的展示。欢迎评论提高我的心态:D

    现在,我故意点击git push。我注意到以下

      

    致命:当前的分支实践没有上游分支。   要推送当前分支并将远程设置为上游,请使用

    git push --set-upstream origin prac
    

    现在,我的问题是,如果我将此prac分支的上游设置为远程,那么我是否需要进行合并?或者它与合并有何不同?

    根据我的理解,在设置上游后,我已经将更改推送到主回购。那么合并会留下什么?或者这是否会推送到一些必须在以后推送的新实例/ fork?

    困惑我的朋友混淆!!!

2 个答案:

答案 0 :(得分:0)

upstream设置是本地分支与远程仓库上的分支之间的关系。它与将一个本地分支合并到另一个本地分支无关(除非你设法配置设置的反常组合);它影响了在执行push时如何更新引用(在没有配置或命令参数指定不同行为的情况下),以及(如注释中的torek指出)也可以作为合并的默认引用。

因此,如果您在本地git push分支上,prac默认会更新origin prac分支。但是这并没有将prac更改合并到master任何回购 - 这是merge所做的。

答案 1 :(得分:0)

让我感到震惊的是,我看到另一个回购下拉列表中有分支。所以我通过设置上游来推动我的分支,它完成了我的想法。它只是在我的仓库中添加了一个新的分支与主人。

所以我想这会回答我的问题

  

根据我的理解,在设置上游之后,我已经推了推   主要回购的变化。那么合并会留下什么?或者这样做   推送到一些必须在以后推送的新实例/ fork?

同样从这里我也清楚合并的事情。它正在比较苹果和橘子。

然而,torek指出有用的文章关于合并和详细的见解。在做完这个之后马克的回答更有意义。因此接受