Git - 将分支移动到主控
Posted
技术标签:
【中文标题】Git - 将分支移动到主控【英文标题】:Git - move branch to master 【发布时间】:2012-04-20 02:17:17 【问题描述】:我有一个带有实际来源的分支,很长一段时间我都没有进行任何提交来掌握,目前它已经完全过时了。我只想用我的分支的内容替换 master 的内容。一种方法是检查分支和主节点,删除主节点的内容并将内容从分支复制到主节点,然后将结果推送到主节点。
它有效,但我相信必须有一些 git 命令才能以更简单的方式完成它。
有人知道怎么做吗?
【问题讨论】:
你怎么知道master上没有任何有价值的东西了?您可以使用 'git log branch..master' 检查 master 上是否有任何提交,而不是分支上。如果有,则 'git checkout master; git merge branch' 将包含这些提交中的更改。 【参考方案1】:您可以使用以下命令让 master 指向一个新位置:git branch -f master branchToMoveMasterTo
这实际上是创建一个名为master
的新分支,它指向branchToMoveMasterTo
。由于我们已经有一个名为 master 的分支,我们需要 -f
标志来表示我们要删除原来的 master
【讨论】:
这很好用。但是有什么办法可以保存老主人的历史吗?我的意思是,它怎么可能看起来像一个普通的提交,却改变了一切? 如果您想保留旧的 master,您需要在将 master 移动到新位置之前创建一个指向相同 SHA 的分支。 Git 分支只是指针;他们没有任何历史记录。 另见***.com/a/29559362/1741542。当前分支不得为master
(或您要移动的任何分支)以上是关于Git - 将分支移动到主控的主要内容,如果未能解决你的问题,请参考以下文章
如何将包含所有分支的 Git 存储库从 Bitbucket 移动到 GitHub?
如何使用 Git / IntelliJ 将整个文件从一个分支移动/复制到另一个分支? [复制]