首页 > 解决方案 > 我分支的代码没有合并回主分支,为什么不呢?

问题描述

我一直在为客户开发一个网站。我在 Azure DevOps 服务上使用 Git。我一个人在做这件事,虽然我在 git 上做了很多自学,但我还是个新手。而且由于我一个人工作,所以我没有任何机会练习使用 git 进行分支和合并。为了开始处理我的客户想要完成的更改,我进行了分支。这是该项目的 Azure DevOps Repos 部分的提交图片:

在此处输入图像描述

在提交 5d2abb2d 时,我开始进行所需的更改。然后在提交 10e7b46c 时,我将功能分支中的更改合并回主分支。

或者至少我认为这就是我所做的。我发布了一个git checkout feature分支,做了一个pull操作,只是为了确保我在本地拥有最新的。我看到了我在 5d2abb2d 输入的所有代码。但是当我做了 agit checkout master和 anotherpull时,它看起来和我分支到 feature 分支之前完全一样!

我确定我做错了什么。可能有错误的想法,但我不知道我做错了什么,也不知道如何解决它。我很高兴我没有删除那个功能分支!我假设我仍然可以以某种方式将我在功能分支中所做的更改返回到主分支。请问我该怎么做?

标签: gitazure-devops

解决方案


“合并回主控”的常用命令集应该是:

git switch master
git merge feature
git push

(注意:在 Git 2.23+ 中使用git switch而不是checkoutmaster,)此时,您应该在.
Agit log --decorate --oneline --graph --all --branches应该向您展示 HEAD at master,有两个父母(一个提交来自master,一个来自feature

如果不是这种情况,则合并本身可能没有遵循确切的命令序列。


推荐阅读