Git:无法将功能分支合并到当前分支

Posted

技术标签:

【中文标题】Git:无法将功能分支合并到当前分支【英文标题】:Git: Cannot merge feature branch to the current branch 【发布时间】:2021-01-12 03:21:13 【问题描述】:

我从 master 创建一个 xxx 分支,然后从 xxx 分支创建 yyy。 xxx 分支中有 2 个文件,然后我在创建分支 yyy 后添加了一个文件。现在我想通过合并将 yyy 分支中的更改应用到 xxx 分支,但在运行以下命令后:

git checkout yyy
git merge xxx

它给出“已经是最新的”。消息,但我没有看到分支 xxx 上的更改,但在分支 yyy 上看到了更改。我的意思是xxx里面还有2个文件,没有看到添加的文件。

所以,我的问题是:

1.为了合并这两个分支,我应该做任何标志等吗?

2. 通常我使用 Gith Bash 来运行 git 命令。 Git CMD 更好吗?我可以使用 cmd 代替 git 命令行吗?我的意思是他们之间有什么优缺点吗?

【问题讨论】:

在尝试合并到第二个分支之前,您是否在 xxx 分支中暂存并提交了更改? 我不确定,因为我尝试了很多不同的东西。但如果我这样做了,通常我想我会在 xxx 分支中看到thanges。我该如何检查? 在两个分支中写入 $ git status,告诉我们你看到了什么 @tawfiknasser Get "在 yyy 分支上。你的分支比 'origin/yyy' 提前 1 次提交。(使用 "git push" 发布你的本地提交)。没什么可提交的,工作树清洁”. 你应该将 yyy 合并到 xxx 中。所以结帐 xxx 比 'git merge yyy' 【参考方案1】:

我认为您的命令中的分支倒退了。

根据this git cheatsheet

$ git checkout [branch-name]

切换到指定分支并更新工作目录

$ git merge [branch]

指定分支的历史合并到当前分支...

对于您的情况:

如果分支yyy 有更改,并且您想将更改合并到分支xxx

$ git checkout xxx    --Checkout branch to update
$ git merge yyy       --Merge yyy changes into current branch

【讨论】:

你的回答和@g_bor 的回答有什么区别,我已经说过没用? 在尝试合并之前您是否已将更改提交到分支yyy 我想我错过了导致问题的推送命令。非常感谢您的帮助,投了赞成票;)【参考方案2】:

看起来你有相反的东西。你想把 yyy 合并到 xxx,所以你应该这样做:

git checkout xxx
git merge yyy

当你尝试合并 xxx 时,Git 说 yyy 是最新的是正确的,因为 yyy 是基于 xxx 的。

你可以看看这个教程:https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging

【讨论】:

我在询问之前也尝试过并遇到以下消息:“merge: yyy - not something we can merge

以上是关于Git:无法将功能分支合并到当前分支的主要内容,如果未能解决你的问题,请参考以下文章

使用 Git 将未合并的功能分支合并到另一个功能分支

使用 Git 将 master 的更改合并到所有分支中?

Git版本控制Git中merge合并分支只对当前分支产生影响,被合并的分支不受影响

git合并部分文件到当前分支

Git:如何使用 VS Code 源代码控制将功能分支合并到主分支?

git分支合并