Git 中使开发分支与主分支相同
本文讨论重置开发分支,使其与主分支相同。 假设您已经克隆了一个 Git 存储库并在主分支之外创建了一个开发分支。
代码一顿乱敲之后,您意识到您的分支很乱,想将其重置回与 master 分支匹配。 你怎么看这个?
使开发分支与主分支相同
我们可以使用两种方法将开发分支重置为 master。 最简单和最干净的是重新创建指针。
要重新创建开发分支的指针,请切换到主分支并运行以下命令。
$ git branch -f development master
这将重置开发分支的提交历史以匹配主分支的提交历史。
另一种方法是使用 git reset 命令。 首先,切换到开发分支并运行下面的命令。
$ git reset --hard master
此命令与 git branch -f
命令具有相同的效果。 但是,这两个命令都会消除开发分支中不存在于主分支中的更改。
如果您不想消除这些更改,则可以创建一个反映 master 分支当前状态的提交。 为此,请按照下列步骤操作:
首先,使用 git checkout development 命令切换到开发分支。 在不创建commit的情况下将master分支合并到develop分支,如下。
$ git merge master --no-commit
此命令将合并更改但在提交部分之前停止合并。 使用下面的命令,您可以从索引中检查 master 分支的更改。
$ git checkout --theirs master .
不要忘记包括 . 在命令的末尾。 剩下的就是提交更改。
$ git commit -m"Resetting development to master"
这将保留 master 分支中不存在的更改并镜像 master 分支的当前状态。
简而言之,您可以通过重新创建指针或借助 git reset --hard
命令将任何分支重置为 master。 这两种方式都会消除主分支中不存在的更改。
如果您想保留这些更改,请使用我们讨论的最后一种方法。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。