我已经阅读了很多帖子,并且最容易得到重复注释的内容。
因此,在远程情况下,我在名为dev的分支上有一堆提交。 最后3个是这样的。
f1....
f2....
f3....
f4....
我正在另一个名为Feature / MT-100的分支机构上工作 最后2个提交在开发中发生了一些事情,弄乱了构建,我需要返回到旧的提交中的一个。例如f3 ....
步骤:
I stash everything i'm working on in feature/MT-100
checkout develop
git reset --hard f3....
git commit -a -m 'rolling back to f3.... fixed commit
git push the new commit
我的问题是这些步骤是否正确。我还能访问吗 f1 ... f2 ... f4 ... 远程,如果我想稍后回滚到他们。或将通过--hard reset清除f1和f2。还是硬重置只会影响我的本地历史记录。在这种情况下,我还可以,因为我在本地开发中没有任何工作文件。
最好创建一个单独的本地分支,称为hotfix 阶段:
git checkout -b 'hotfix'
git pull origin develop
git reset --hard f3....
git commit -a -m 'rolling back to f3... in a hotfix'
git push
raise a pr in stash
then merge from stash to develop
我从hotfix选项到仅对本地开发进行--hard获得什么 是否有更好的方法或更容易理解的方法来执行此操作。同样,我在hotfix分支上将没有任何工作文件,因此不必担心--hard。