早晨,
我的问题如下:
有一个我必须还原的主提交和推送,我要求用户然后为他的提交创建一个分支,以便我可以将其与拉取请求合并,一切正常,合并到我的主分支中并删除了该分支
我还必须将这个母版合并到开发中,这样才能使两者对齐,这样做可以看到之前的合并文件已“消失”到我的母版中,如果现在我克隆它不会显示的存储库我与该合并请求合并的文件。
运行git日志,我得到以下信息:
* f9f9137 (HEAD -> master, origin/master, origin/layout, origin/develop, develop) Version 3.1.73
* f81b163 Merge branch 'master' into develop
|\
| * 6c73f7b Merge branch 'feature/TimesheetReminder' into 'master'
| |\
* | | 1a05d2f Revert "Timesheet reminder version 1"
| |/
|/|
* | 83d082a Timesheet reminder version 3
* | d22ed67 Timesheet reminder version 1
* | 4e71765 Merge branch 'feature/checkboxes' into 'develop'
|\ \
| |/
|/|
| * 98c090b bugs fixed
| * bb3238c open tabs corrected
| * 4e5feb4 checkboxes + buttons added to homepage
|/
* cf357ee Edited browser icon
* 84a9050 Version 3.1.72
* 5adf3c0 Modified resources and added logo with the GhostForce name
* ec2a99a Version 3.1.71
* 14b8626 Modified assets and changed KB link.
d22ed67
和83d082a
是2个错误的提交,我回复到d22ed67
,因为它只有一个很小的添加可以保留,然后用户创建了一个新分支并提交拉取请求:6c73f7b
,然后我将其合并到我的主请求中,然后运行了git checkout develop && git merge master
。
现在,如果我进入母版,则看不到1a05d2f
中的添加内容,但是如果浏览具有该ID的存储库,则可以看到所有正确添加的文件。
这里可能是什么问题,我做错了什么?
答案 0 :(得分:0)
您提到了 d22ed67 and 83d082a were the 2 wrong commits
由于这些提交之上的提交很少,因此更好的方法(如果我遇到问题,我更愿意这样做!)
git log --oneline -20
git reset --hard 4e71765
git cherry-pick 1a05d2f
git cherry-pick 6c73f7b
git cherry-pick f81b163
git cherry-pick f9f9137
git log --oneline -20
git log
是必需的,因为您可能会错过任何提交ID,您可以从那里获取它,并避免混淆。还要一个个地摘樱桃。
此外,如果您在选择樱桃时遇到任何冲突-
git cherry-pick --continue
注意:
1.请请勿使用merge
命令。使用rebase
2.请请勿使用pull
命令。使用fetch
,然后使用rebase
开心的烦恼!!