GIT将文件从dev重新合并到master

xpe*_*int 3 git merge clone git-clone

我的主GIT分支接缝有一些错误,因此我想重新检查,重新合并或可能在主分支上克隆我的dev分支,因此master分支将是dev的副本.

我怎样才能做到这一点?谢谢.

Amb*_*ber 6

如果问题只是您的签出文件与分支不匹配,只需git reset正常使用:

git reset --hard HEAD
Run Code Online (Sandbox Code Playgroud)

这应该就是你所需要的.但是,如果您仍想使用dev覆盖master,请继续阅读.


如果要使用dev分支的内容覆盖master分支,请使用git reset如下:

$ git checkout master
$ git reset --hard dev
Run Code Online (Sandbox Code Playgroud)

如果你想把它推到别的地方:

$ git push origin master
Run Code Online (Sandbox Code Playgroud)

请注意,如果您的开发分支没有从您的主分支快进(我猜它不会,因为您说您的主分支中有一些搞砸的内容),您需要添加--force标记为在远程上覆盖它的推送:

$ git push origin master --force
Run Code Online (Sandbox Code Playgroud)

但请注意,这可能涉及重写历史记录的所有常规注意事项git rebase- 如果有其他人使用此遥控器,他们将需要处理相当于上游的rebase.


为了避免将来出现此问题,建议你的朋友,使用--force几乎从来没有必要的.如果他们在尝试时遇到冲突git push,他们应git pull首先解决冲突,然后再解决冲突git push.