Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
复制分支的正确方法-git_Git - Fatal编程技术网

复制分支的正确方法-git

复制分支的正确方法-git,git,Git,我有两个分支:分支a和分支b。我想要分支机构a中分支机构b的所有更改/提交。同时删除分支a的先前提交/状态 我有两个选择: git签出分支a和git重置-硬分支b git分行-D分行a和git结帐-b分行a分行b 哪种选择更好?为什么?或者有没有更好的方法来复制分支注意:我只想分支机构a成为分支机构b的副本 这两个选项基本上是相同的,因为最后您会看到分支a和分支b都指向同一个提交(之前已指向该分支b) 我想到的唯一区别是,如果您重置分支标签,此操作将记录在其reflog中,而如果您删除并重新创建

我有两个分支:分支a分支b。我想要分支机构a中分支机构b的所有更改/提交。同时删除分支a的先前提交/状态

我有两个选择:

  • git签出分支a
    git重置-硬分支b
  • git分行-D分行a
    git结帐-b分行a分行b

  • 哪种选择更好?为什么?或者有没有更好的方法来复制分支注意:我只想分支机构a成为分支机构b的副本

    这两个选项基本上是相同的,因为最后您会看到
    分支a
    分支b
    都指向同一个提交(之前已指向该分支b)


    我想到的唯一区别是,如果您
    重置分支标签,此操作将记录在其reflog中,而如果您删除并重新创建它,
    branch\u a
    的上一次刷新将丢失。

    我甚至不确定您的第二个选项是否有效,因为您正在删除
    branch\u a
    ,然后才尝试使用它进行复制。除此删除步骤外,这两个步骤非常相似。另外,你使用的
    sync
    在我看来是误用了。我认为同步应该在拉和推的上下文中使用。@TimBiegeleisen第二个也可以;它将首先删除分支a
    ,然后在分支b指向的提交上重新创建它。