Git 如何在本地将活动分支合并到另一个分支?

Git 如何在本地将活动分支合并到另一个分支?,git,git-merge,branching-and-merging,Git,Git Merge,Branching And Merging,我当前的工作流程是: 在某个分支上工作work\u分支 提交更改 希望合并到主节点,但以后仍在该分支上工作 签出master 将工作分支合并到主分支 结帐work\u分支机构 我想省去签出master然后签出work\u branch的麻烦 相反,我希望以某种方式将更改“推”到主控,而不将其作为活动分支 我找不到这方面的副本,但我想我只是缺少术语。不,没有办法做到这一点。从git merge手册页: 将命名提交中的更改(自其历史记录偏离当前分支时起)合并到当前分支中 Git的结构使得这样的命令可

我当前的工作流程是:

  • 在某个分支上工作
    work\u分支
  • 提交更改
  • 希望合并到
    主节点
    ,但以后仍在该分支上工作
  • 签出
    master
  • 工作分支
    合并到
    主分支
  • 结帐
    work\u分支机构
  • 我想省去签出
    master
    然后签出
    work\u branch
    的麻烦 相反,我希望以某种方式将更改“推”到
    主控
    ,而不将其作为活动分支


    我找不到这方面的副本,但我想我只是缺少术语。

    不,没有办法做到这一点。从
    git merge
    手册页:

    将命名提交中的更改(自其历史记录偏离当前分支时起)合并到当前分支中

    Git的结构使得这样的命令可以对当前签出的提交进行操作


    我能想到的最接近的事情是使用
    git worktree
    建立第二个工作树,这将允许您签出主分支并从工作分支合并,同时仍然签出您的工作分支。

    看起来您需要进行实际合并(即,您将在步骤5中执行的
    git merge
    将导致真正的合并,而不是简单的快进),您需要另一个索引和工作树来执行合并。在这种情况下,请参阅(或创建另一个存储库并在这两个存储库之间推送/获取,并在另一个存储库中执行工作)但是如果你对
    master
    的更新总是很快的,那么有一种作弊方法,使用
    git fetch
    git push
    从你自己的存储库到你自己的存储库。基本上,你可以运行
    git push.work\u branch:master
    ,上面写着:嘿,git,调用另一个git(实际上就是你自己)。然后要求另一个Git将其
    master
    设置为与我的
    work\u分支
    相同。这意味着您的Git要求自己将自己的
    master
    设置为与自己的
    work\u分支
    相同……这是快进合并的一半,因此如果快进操作成功,您现在就完成了。