Git 如何从本地主分支更新本地工作分支?

Git 如何从本地主分支更新本地工作分支?,git,version-control,Git,Version Control,所以我有硕士和工科。我在主分支中对文件进行了一些更改,而不是在工作分支中进行更改。现在我必须把这些变化从我当地的主管部门推到当地的工作部门?最重要的是我如何做到这一点?你想要的是一个分支的再基础。它将尝试将Branch-A的历史记录与Branch-B重新对齐 git checkout work-branch git rebase master 就这样,在大多数情况下。您可能需要解决两个分支之间的冲突,但您必须在相同的位置编辑相同的文件才能解决冲突。您需要的是分支基础。它将尝试将Branch-A

所以我有硕士和工科。我在主分支中对文件进行了一些更改,而不是在工作分支中进行更改。现在我必须把这些变化从我当地的主管部门推到当地的工作部门?最重要的是我如何做到这一点?

你想要的是一个分支的再基础。它将尝试将
Branch-A
的历史记录与
Branch-B
重新对齐

git checkout work-branch
git rebase master

就这样,在大多数情况下。您可能需要解决两个分支之间的冲突,但您必须在相同的位置编辑相同的文件才能解决冲突。

您需要的是分支基础。它将尝试将
Branch-A
的历史记录与
Branch-B
重新对齐

git checkout work-branch
git rebase master
就这样,在大多数情况下。您可能需要解决两个分支之间的冲突,但您必须在相同的位置编辑相同的文件才能解决冲突。

只需运行或修复冲突(如果有),其中,我们的是您当前所在的分支,他们的是您行动中使用的另一个分支

例如,如果希望将所有更改合并到
工作分支
中,并且应从
工作分支
中获取冲突文件,则命令应为:

$ git checkout work-branch
$ git merge --strategy=ours local-master
$ git checkout work-branch
$ git merge --strategy=theirs local-master
否则,如果您希望将所有更改合并到
工作分支中
,并且应该从
本地主控
获取冲突文件,则命令应为:

$ git checkout work-branch
$ git merge --strategy=ours local-master
$ git checkout work-branch
$ git merge --strategy=theirs local-master
只需运行“使用其中一个”或“修复冲突”(如果有),其中我们的是您当前所在的分支,他们的是您操作中使用的另一个分支

例如,如果希望将所有更改合并到
工作分支
中,并且应从
工作分支
中获取冲突文件,则命令应为:

$ git checkout work-branch
$ git merge --strategy=ours local-master
$ git checkout work-branch
$ git merge --strategy=theirs local-master
否则,如果您希望将所有更改合并到
工作分支中
,并且应该从
本地主控
获取冲突文件,则命令应为:

$ git checkout work-branch
$ git merge --strategy=ours local-master
$ git checkout work-branch
$ git merge --strategy=theirs local-master

同步分支的直接方法是进行合并(我的注释)或重新基址(Strike的答案),这取决于您希望工作历史记录和主分支之后的查看方式。(净效应是一样的。)

但是,由于您提出了这个问题,您可能在寻找一些不同的东西,例如将主控形状更正为更改不可见的状态,将其应用于工作分支,然后按照标准工作流的建议,将工作分支合并到主控形状中

一种方法是

  • 将主机的当前状态分支到新分支中
  • 再次签出master并将其(硬)重置为工作分支上应该发生的更改之前的最后一次提交(通过
    git log
    查找)
  • 签出工作分支并合并包含更改的新分支
  • 最后签出master并合并工作分支,该分支现在包含对master最初错误地进行的更改

只有在您还没有将master推送到其他存储库的情况下,重置master才是一个好主意。

同步分支的直截了当的方法是进行合并(我的评论)或重新基址(Strike的回答),这取决于您希望以后如何查看工作和master分支的历史记录。(净效应是一样的。)

但是,由于您提出了这个问题,您可能在寻找一些不同的东西,例如将主控形状更正为更改不可见的状态,将其应用于工作分支,然后按照标准工作流的建议,将工作分支合并到主控形状中

一种方法是

  • 将主机的当前状态分支到新分支中
  • 再次签出master并将其(硬)重置为工作分支上应该发生的更改之前的最后一次提交(通过
    git log
    查找)
  • 签出工作分支并合并包含更改的新分支
  • 最后签出master并合并工作分支,该分支现在包含对master最初错误地进行的更改

只有在您还没有将master推送到其他存储库的情况下,重置master才是一个好主意。

git checkout work branch&&git merge master
值得一试;-)
git签出工作分支和&git合并主节点
值得一试;-)。