【问题标题】:Fetching remote upstream in GIT在 GIT 中获取远程上游
【发布时间】:2021-01-13 18:36:34
【问题描述】:

我是 GitHub 的新手,我对上游和本地更改有点困惑。这是我的情况。任何建议都非常感谢。

我创建了一个 git 存储库,现在我已经设置了上游和来源。

如果我在下面输入命令

git remote -v 

This gives me 2 repositories 
origin (points to my forked path)
upstream (points to my parent project path)

现在,这里是混乱。如果我去 GitHub 看看分支。它显示masterdevelop 分支。如果我检查这两个的链接,它是相同的。那么如何区分哪个是开发分支,哪个是主分支。

现在,这是我的事。如果我检查我当地的分支机构。我只看到一个主分支。我不能直接在主分支上工作。我必须在开发分支上工作并将更改推送到父的开发分支。

我尝试了这些步骤

git checkout -b develop (From the local master branch)
git pull upstream/develop. 

现在这是否意味着,我已将所有更改从上游的开发分支拉到本地的开发分支?这令人困惑:(

现在,当我在本地开发分支中时,我使用以下命令从中创建了一个功能分支

git checkout -b "feature1"

现在我处理更改并通过键入以下命令推送更改以供同行评审

git add .
git commit -m "feature added"
git push -u origin feature1

此时,我已经在 GITHUB 推送了 PR。我去 github 并提出 PR 以从我的分支合并到上游开发分支。更改已合并。

现在我使用以下命令从我的功能分支返回本地开发分支

git checkout develop

如何将我刚刚合并到上游开发的最新更改拉到本地的开发分支。因为如果我尝试任何东西,我仍然无法获得我在上游开发中更新的最新更改。

【问题讨论】:

    标签: git github merge version-control gitlab


    【解决方案1】:

    git checkout -b <some branch> 在当前 HEAD 之上创建本地新分支。

    如果分支已经存在,则不要创建它,只需切换到它,它将已经连接到上游分支。

    git clone <my repo>
    # assumming you will be on master branch after clone just switch to develop
    git checkout develop
    # just pull recent changes anytime something new could appear on origin
    git pull
    

    如果您已经创建了本地 develop,您可以随时将其删除,然后再次切换到不存在的开发环境,该开发环境将首先尝试从原点拉取它:

    # let's say we are on local develop then go to another branch
    git checkout master
    # delete local develop
    git branch -D develop
    # switch to develop should checkout develop which will be tracking origin develop
    git checkout develop
    # and again if sth new appears on origin just pull it
    git pull
    

    【讨论】:

      【解决方案2】:

      要切换到本地机器上的develop 分支,请执行:

      git checkout develop
      

      一旦您进入develop 分支,请使用以下命令进行确认:

      git branch
      

      上述命令应突出显示develop 分支。 合并 PR 后,只需执行:

      git pull origin develop
      

      这会将合并的远程更改(来自develop)拉到您的本地(develop)分支。

      【讨论】:

        猜你喜欢
        • 2021-08-09
        • 2012-03-21
        • 2013-09-22
        • 2018-04-02
        • 1970-01-01
        • 2020-09-26
        相关资源
        最近更新 更多