GIT 将文件从 dev 重新 merge 到 master

标签 git merge clone git-clone

我的主 GIT 分支接缝有一些错误,因此我想重新检查、重新 merge 或可能将我的开发分支克隆到主分支上,这样主分支将成为开发的副本。

我该怎么做? 谢谢。

最佳答案

如果问题只是你 checkout 的文件与分支不匹配,只需正常使用 git reset 即可:

git reset --hard HEAD

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


如果你想用你的 dev 分支的内容覆盖你的 master 分支,使用 git reset 像这样:

$ git checkout master
$ git reset --hard dev

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

$ git push origin master

请注意,如果您的 dev 分支没有从您的 master 分支快进(我猜它不会,因为您说过您的 master 分支中有一些搞砸了的东西),您将需要将 --force 标志添加到推送以在远程覆盖它:

$ git push origin master --force

但是请注意,这可能涉及重写历史的所有正常注意事项,如 git rebase - 如果其他人使用此 Remote ,他们将需要处理相当于上游的问题 rebase 。


为避免将来出现此问题,建议您的 friend 使用--force 几乎永远 不是必需的。如果他们在尝试 git push 时遇到冲突,他们应该先 git pull 解决冲突,然后再 git push

关于GIT 将文件从 dev 重新 merge 到 master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4495322/

相关文章:

git - 在 Github 上触发特定的 Jenkins 作业推送到特定目录

c++ - 有没有插入然后排序的替代方法

python - 通过比较日期合并数据框,Pandas

Github Pages 为 Jekyll 站点抛出 `Page build failure`

git - 在不设置用户名和电子邮件的情况下提交

python - 基于 Pandas 中的多个键合并两个DataFrame

javascript - 在不移除隐藏元素的情况下计算可见元素的 jQuery text().length

ruby - 复制 Ruby 字符串数组

java - 通过序列化进行深度克隆时,通过引用克隆一些实例字段

git - git push 时 Team Foundation Service Fatal