如何重置develop branch to master

时间:2013-08-26 04:36:33

标签: git version-control branch

我有develop& master分支,develop分支现在很乱,我想重置它并将其作为master的副本。我不确定将master合并到develop是否会使它们都相同。在尝试合并后,我遇到了很多冲突,我使用了解决它们:

git checkout develop
git merge origin/master
//got many conflicts
git checkout . --theirs

这对于develop分支来说是否足以与master完全相同?

由于

6 个答案:

答案 0 :(得分:37)

如果你想让developmaster相同,最简单的方法就是重新创建指针:

git branch -f develop master

或者,如果您已经签出develop

git reset --hard develop master

但请注意,这两个选项都会删除developmaster以外没有的任何历史记录。如果这不合适,您可以通过创建镜像master最新状态的提交来保留它:

git checkout develop
git merge --no-commit master
git checkout --theirs master .
git commit

答案 1 :(得分:35)

如果你只想让它们成为同一件事

然后

//from Develop and assuming your master is up to date with origin/master
git reset --hard master

答案 2 :(得分:1)

重置上次提交

git reset HEAD~ 

答案 3 :(得分:0)

我参加聚会有点晚了,但是,在将我的dev分支合并到master并推送到服务器之后,我执行以下操作:

git fetch

git checkout development

git merge origin/master

git push

dev分支是master分支之前的一个提交,其他开发人员不必担心开发分支中的所有提交都会被重置。

答案 4 :(得分:0)

如果所有其他方法都失败了,您可以删除当前分支并直接从 master 重新创建它。

git branch -D develop
git checkout master
git checkout -b develop

答案 5 :(得分:0)

例如使 staging 分支与 develop 相同,可以简单地重新创建指针:

首先通过运行以下命令确保您的本地开发分支与 origin/develop 保持同步: git checkout develop && git pull origin develop

然后检查您的目标分支(在本例中为 staginggit checkout staging

最后但并非最不重要的是重置目标分支 git reset --hard develop

用蛮力推动更改(git会抱怨,因为本地指针有不同的地址) git push -f

那就差不多了!