git reset的妙用

detached head有用
下面是为了解决一个问题:
master分支提交了过多的内容,希望master回到release分支

git checkout master
git reset --hard xxxx
git push origin master

这样是不行的,gitlab报错:master是受保护的分支,不能删除历史。
下面是巧妙的利用了reset

git checkout release
git reset master
git add *
git add .gitignore
git commit -m "use files from release"
git diff HEAD origin/release
git branch xx
git checkout xx
git merge master
git checkout master
git merge xx
git merge orgin/release
git diff origin/release
git push

git reset soft,hard,mixed之区别深解

git checkout之一 HEAD基本和detached 状态

你可能感兴趣的:(git reset的妙用)