我犯了一个大错误,我想知道如何从中恢复。几个星期前,我克隆了一个存储库,分支了主人并开始进行更改。直到今天我才意识到我的修改是针对即将发布的版本而不是现在的版本。不幸的是,创建项目的人只使用标签来发布而不是单独的分支。
到目前为止,我已经能够通过检查相应的标记并创建新分支来分支当前版本。问题是我想在新分支上重放所有我的特定更改。换句话说,自上次发布以来,我不想要任何新代码,只有我做过的更改。
展望未来,我如何使用远程仓库但阻止拉动将我的代码升级到新版本。
答案 0 :(得分:2)
我认为您正在寻找git rebase --onto
。我直接从git手册页中抓取了这个例子,并用你在问题中理解的内容替换了分支名称:
H---I---J current_branch
/
E---F---G master
/
A---B---C---D old_release
如果你应该在master
old_release
分支出来
在这种情况下,你应该这样做:
git rebase --onto old_release master current_branch
这应该重播您在H
分支上从J
到old_release
的提交。
答案 1 :(得分:-1)
git rm -r .
git checkout HEAD~3 .
git commit
HEAD~3是你想回到的地方。 你也可以没有
git reset --hard <tag/branch/commit id>
然后,您再次进行更改:/