将多个git分支合并到master中?

将多个git分支合并到master中?,git,merge,branch,Git,Merge,Branch,所以我有3个git分支: 主人 刷新 授权升级 我并没有像我应该的那样使用分支…所以master已经过时,refresh有些过时,auth\u upgrade实际上是完全最新的分支 所以…我最终想升级主分支,然后将它推送到我的github repo 执行此操作的最佳流程是什么?您可以使用以下选项重命名分支: 您可以将auth\u upgrade拉入master $ git co master $ git pull . auth_upgrade 然后在主机上执行主线工作,并使用此分支与远程

所以我有3个git分支:

  • 主人
  • 刷新
  • 授权升级
我并没有像我应该的那样使用分支…所以
master
已经过时,
refresh
有些过时,
auth\u upgrade
实际上是完全最新的分支

所以…我最终想升级主分支,然后将它推送到我的github repo


执行此操作的最佳流程是什么?

您可以使用以下选项重命名分支:


您可以将
auth\u upgrade
拉入
master

$ git co master
$ git pull . auth_upgrade
  • 然后在
    主机上执行主线工作
    ,并使用此分支与远程主机同步
  • 如果要包括某些独特的更改,请对刷新应用相同的过程
见:


如果当你说“过时”时,旧分支是严格的祖先,那么你实际上没有任何合并问题

如果您只想将当前分支变成远程存储库上的主分支,您可以执行以下操作:

git push origin HEAD:master
编辑:根据您的一条评论,您的当前分支中似乎没有远程主机的所有更改,因此您可能需要在成功推送之前将其合并:

git fetch
git merge origin/master
然后可以删除本地分支。用小的
-d
删除是安全的,因为它只删除当前分支的祖先分支

git branch -d master
git branch -d refresh.
如果您的本地分支机构未被称为master,您会感到困扰,您现在可以执行以下操作:

git checkout -b master
git branch -d auth_upgrade

但是如果我将
auth\u upgrade
重命名为
master
,然后尝试推送到github,我会得到
非快进
错误。另外,
master
auth\u-grade
之间的所有新文件和更改都不会被推送,所以当我从分支部署时,这些文件完全不正常。啊,你没有提到
master
不是
auth\u-upgrade
的祖先。这确实有区别。我会留下我的答案,以防它对其他有类似情况的人有用,可以通过重命名来解决。我现在遇到的问题是,身份验证升级和主文件之间存在各种各样的文件差异冲突。我怎样才能让auth_升级只覆盖master中的任何代码差异?请查看///合并策略:我们的/这解决了任何数量的头,但合并的结果树始终是当前分支头的树,实际上忽略了所有其他分支的所有更改。它旨在取代分支机构的旧发展历史。
git branch -d master
git branch -d refresh.
git checkout -b master
git branch -d auth_upgrade