我刚刚遇到了一个问题,合并一个分支到主git。首先,我通过运行git ls-remote来获得分支名称。我们称这个分支为“branch-name”。然后我运行git merge branch-name命令,得到如下结果:

fatal: branch-name - not something we can merge

如何解决此错误?


当前回答

我的目标是将Branch2代码合并到Branch1中。

我在合并时得到了下面的消息。

我的分支Branch1和Branch2。请在项目文件夹中使用这些分支。

最初我只有分支1与脉泽,在这种情况下,我得到了下面提到的消息。

现在我已经签入了Branch2。

现在Branch1, Brnach2和master都在我的项目文件夹中。

现在开始合并步骤:

这是什么 起来

最后我们合并了Brnach2和Branch1

其他回答

您得到这个错误是因为您想要合并的分支在您的本地存储库中不存在。

所以,首先用下面的命令签出你想要合并到主分支的分支:

git checkout branch_name_to_merge

在此之后,尝试通过以下命令将其与主分支合并:

git merge branch_name_to_merge

我有一个master工作树和另一个分支签出在两个不同的工作文件夹中。

PS C:\rhipheusADO\Build> git worktree list
C:/rhipheusADO/Build         7d32e6e [vyas-cr-core]
C:/rhipheusADO/Build-master  91d418c [master]

PS C:\rhipheusADO\Build> cd ..\Build-master\

PS C:\rhipheusADO\Build-master> git merge 7d32e6e #Or any other intermediary commits
Updating 91d418c..7d32e6e
Fast-forward
 Pipeline/CR-MultiPool/azure-pipelines-auc.yml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

PS C:\rhipheusADO\Build-master> git ls-remote
From https://myorg.visualstudio.com/HelloWorldApp/_git/Build
53060bac18f9d4e7c619e5170c436e6049b63f25        HEAD
7d32e6ec76d5a5271caebc2555d5a3a84b703954        refs/heads/vyas-cr-core 

PS C:\rhipheusADO\Build-master> git merge 7d32e6ec76d5a5271caebc2555d5a3a84b703954
Already up-to-date

PS C:\rhipheusADO\Build>  git push
Total 0 (delta 0), reused 0 (delta 0)
To https://myorg.visualstudio.com/HelloWorldApp/_git/Build
   91d418c..7d32e6e  master -> master

如果你只需要合并最近的提交:

git merge origin/vyas-cr-core 
git push

这和我一直以来的做法一样

git checkout master # This is needed if you're not using worktrees
git pull origin vyas-cr-core
git push

我必须建议先检查所有的分支机构,或者你要找的分支机构是否可用

Git branch -r

从列表中检查

origin/HEAD -> origin/main
origin/feature/branch_1
origin/feature/branch_2
origin/feature/branch_3
origin/feature/branch_4
origin/feature/your branch

建议从origin本身复制清单,然后git合并origin/feature/branch_2。复制粘贴将删除打印错误。

这可能听起来很奇怪,但请记住设置你的git电子邮件和名称:

git config --global user.email "MY@EMAIL.COM"
git config --global user.name "FIRST_NAME LAST_NAME"

对我来说,问题是“双引号”合并消息。所以当我去掉双重标记时,一切都神奇地起作用了。我希望能帮助别人。(抱歉我的英语不好)