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中merge合并分支只对当前分支产生影响,被合并的分支不受影响