【发布时间】:2015-12-28 09:42:21
【问题描述】:
- 首先我在 Master 分支上工作并提交了 3 次提交:Wijzing 1、2、3。
- 然后我在提交 Wijziging 1 时进行了 checkout...。
- 然后我创建了一个新分支new-feature并开始进行更改。
- 现在我想丢弃 2 个提交:Wijzing 2 和 Wijziging 3。
- 我想将 新功能 与 Master 合并。
更新:
在这些步骤之后,我执行以下操作:
git checkout master
git reset --hard HEAD^^
git merge new-feature
更新: 解决办法是强制推送:
git push -f
强制推动后它再次起作用。
【问题讨论】:
-
你的意思是你想把 1、2 和 3 的提交压缩在一起吗?还是您想放弃 wijziging 1 和 2 的更改?
-
这实际上是“存储库”还是只是示例?如果您有一些真正的存储库,您已将 chagnes 发布到远程,请谨慎。
-
@Mateusz 我创建了一个假存储库来练习;)。
-
不需要用 git 创建练习库,因为没有任何东西被破坏。事物总是被创造出来的!只需要学习 3 件事以始终处于良好状态: 1. 创建分支作为保存点 2. 学习
git reset将分支移动到另一个地方 3. 最后,如果您忘记保存,请学习git reflog在做某事之前指出并没有以您希望的方式结束!现在,你是一个 git 专家!!并且可以尝试任何你想要的......
标签: git git-branch git-merge atlassian-sourcetree