我有两个分支:master和ubuntu。通常我将主人合并到' ubuntu'。 ' Ubuntu的'分支包含主人加自己的' / debian'文件夹,不在主文件夹中。由于错误,我合并了“ubuntu'给主人,带来了'/ debian'文件夹到主人。
我想将它从主程序中删除,但我希望能够将master与ubuntu合并而不会损坏它自己的' / debian'文件夹,当我将主人合并到' ubuntu'试。
我该怎么做? Merge发生在前一段时间,并且有很多提交,因为......
答案 0 :(得分:0)
只需reset local/master
可以replace remote/master history
和local/master
。
首先找出last commit before merging ubuntu
。 git log
也许是不错的选择。
$ git checkout master
$ git log --since=1.hour.ago # commit-time < 1 hour
$ git log --since=3.hour.ago --until=1.hour.ago # 1 hour < commit-time < 3 hour
$ git log --since=1.day.ago # commit-time < 1 day ago
复制commit-sha
并将hard-reset
您的local-master复制到该提交中:
# backup master for safety
$ git branch master.bac # backup master to master.bac branch
$ git reset --hard <commit-sha>
$ git push -f origin master # force push, replace remote/master history with local/master