说我在基于开发分支创建的分支xyz上。我想摆脱我的所有更改(包括提交和推送的更改)并使xyz分支的状态与开发分支相同,例如我不想要对xyz做过任何修改。
我尝试了git reset --hard origin/development
之后git clean -f -d
,但它没有做到这一点。
修改
git status
说:
分支SVP-xyz 你的分支和&origin; / xyz'有分歧, 并分别有8个和2个不同的提交。 (使用" git pull"将远程分支合并到你的分支中) 无需提交,工作目录清理
答案 0 :(得分:1)
由于xyz
分支已经处于远程状态,我无法在不重写历史记录的情况下重置其中的更改(当然,不建议这样做)。
因此,我要删除本地和远程xyz
分支,然后从dev
分支重新创建它们:
结帐到dev
或任何其他分支(基本上远离xyz
):
git checkout master
删除本地和远程xyz
分支:
git push -d origin xyz
git branch -d xyz
从xyz
分支创建新的分支dev
分支:
git checkout -b xyz dev
将您的新xyz
分支推送到远程(如果需要):
git push -u origin xyz