微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否从本身从master分支的branchA分支出来,是否与从master分支的分支相同,然后合并来自master另一个分支的更改?

如何解决是否从本身从master分支的branchA分支出来,是否与从master分支的分支相同,然后合并来自master另一个分支的更改?

场景1:

  • 我们有主人。
  • git checkout -b branchA(分支脱离主服务器)
  • git checkout -b branchB(分支到branchA之外)
  • branchA已合并。
  • git checkout分支B
  • git pull origin master(将主更改添加到branchB中)
  • //这是结束状态

方案2:

  • 我们有主人。
  • git checkout -b branchA(分支脱离主服务器)
  • git checkout master
  • git checkout -b branchB(分支脱离主服务器)
  • git pull origin branchA(将branchA中的拉取更改为branchB)
  • branchA合并为master
  • git pull原始母版
  • //结束状态。

这两种情况都一样吗?

解决方法

您不从分支分支,而是从分支引用的提交分支。如果master和branchA引用相同的提交,我们将其称为ABC123,那么所有这些都相同。

git branch branchB master
git branch branchB branchA
git branch branchB ABC123

在所有情况下,branchB将指向提交ABC123。从那时起,master或branchA发生的情况对branchB无效。

例如...

A - B [master]

$ git branch branchA
$ git branch branchB

A - B [master]
      [branchA]
      [branchB]

所有三个分支都指向提交B。

如果我们然后签出branchA并进行一些提交...

$ git checkout branchA
$ ...git commit...
$ ...git commit...

      C - D [branchA]
     /
A - B [master]
      [branchB]

master和branchB保留在提交B。branchA自行关闭。如果然后我们结帐branchB并进行一些提交...

$ git checkout branchB
$ ...git commit...
$ ...git commit...

      C - D [branchA]
     /
A - B [master]
     \
      E - F [branchB]

现在branchB自行关闭。如果我们对主人也一样...

$ git checkout master
$ ...git commit...
$ ...git commit...

      C - D [branchA]
     /
A - B - G - H [master]
     \
      E - F [branchB]

主人独自一人离开。


您的其他情况感到困惑,因为这是不正确的。

git pull origin master (master changes pulled into branchB)

这会将更改从原始/母版拉到母版。

如果要将原点/母版拉入branchB,则可以使用git pull origin master:branchB。完整语法为git pull <remote> +<src>:<dest>。通常仅用作git pull <remote> <src>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。